docs: added DevLog @ 2025.03.20
@@ -36,6 +36,7 @@ export default defineConfig({
|
||||
],
|
||||
customCss: [
|
||||
'./src/styles/custom.css',
|
||||
'@fontsource/quicksand/300.css',
|
||||
],
|
||||
}),
|
||||
],
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/starlight": "^0.32.3",
|
||||
"@fontsource/quicksand": "^5.2.6",
|
||||
"astro": "^5.5.3",
|
||||
"sharp": "^0.33.5",
|
||||
"starlight-theme-catppuccin": "^2.0.0"
|
||||
|
||||
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 222 KiB |
|
After Width: | Height: | Size: 202 KiB |
|
After Width: | Height: | Size: 193 KiB |
|
After Width: | Height: | Size: 168 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 1019 KiB |
|
After Width: | Height: | Size: 588 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 34 KiB |
@@ -79,7 +79,7 @@ At the end of March 8th, [@LemonNekoGH](https://github.com/LemonNekoGH) and
|
||||
colors for the entire stage! (I never thought this could be done within hours...)
|
||||
|
||||
<video controls muted>
|
||||
<source src="../../../assets/images/blog/DevLog-2025.03.10/customizable-theme-colors.mp4">
|
||||
<source src="/static/blog/DevLog-2025.03.10/customizable-theme-colors.mp4">
|
||||
</video>
|
||||
|
||||
- https://github.com/moeru-ai/airi/pull/53
|
||||
|
||||
@@ -0,0 +1,191 @@
|
||||
---
|
||||
title: DevLog @ 2025.03.20
|
||||
---
|
||||
|
||||
import { Image } from 'astro:assets';
|
||||
import Gelbana from '../../../assets/images/blog/DevLog-2025.03.20/steins-gate-gelnana-from-elpsycongrooblog.webp'
|
||||
import NewUIV3 from '../../../assets/images/blog/DevLog-2025.03.10/new-ui-v3.png'
|
||||
import NewUIV3Dark from '../../../assets/images/blog/DevLog-2025.03.10/new-ui-v3-dark.png'
|
||||
import HistoireColorSlider from '../../../assets/images/blog/DevLog-2025.03.20/histoire-color-slider.png'
|
||||
import HistoireColorSliderDark from '../../../assets/images/blog/DevLog-2025.03.20/histoire-color-slider-dark.png'
|
||||
import HistoireLogo from '../../../assets/images/blog/DevLog-2025.03.20/histoire-logo.png'
|
||||
import HistoireLogoDark from '../../../assets/images/blog/DevLog-2025.03.20/histoire-logo-dark.png'
|
||||
import NewUIV4Speech from '../../../assets/images/blog/DevLog-2025.03.20/new-ui-v4-speech.png'
|
||||
import NewUIV4SpeechDark from '../../../assets/images/blog/DevLog-2025.03.20/new-ui-v4-speech-dark.png'
|
||||
import SteinsGateMayori from '../../../assets/images/blog/DevLog-2025.03.20/steins-gate-mayori.webp'
|
||||
|
||||
Hello again! It has been 10 days since the [last post of DevLog](../references/contributing/guide/).
|
||||
|
||||
We made a lot of improvements to our user interface, we made it possible
|
||||
to integrate more LLM providers, and speech providers, first time to post
|
||||
Airi on Discord, bilibili, and many other social media platforms.
|
||||
|
||||
There is so much more that we can't wait to tell you about.
|
||||
|
||||
## Dejavu
|
||||
|
||||
Let's rewind the time a little bit!
|
||||
|
||||
<Image src={Gelbana} alt="Gelbana" />
|
||||
|
||||
> Ahh, don't worry, our beloved [Airi](https://github.com/moeru-ai/airi) will
|
||||
> not turn into GEL-NANA like this. BUT, if you haven't watched the
|
||||
> [_Steins;Gate_](https://myanimelist.net/anime/9253/Steins_Gate) anime series,
|
||||
> try it~!
|
||||
|
||||
We were working on the initial settings UI design, and animation has been
|
||||
improved, customizable theme coloring has been achieved for 10 days ago.
|
||||
It was indeed a busy week for any of us (especially we are all part-time on
|
||||
this project, haha, join us if you will. 🥺 (PLEASED FACE)).
|
||||
|
||||
And this was the final result we got at that time:
|
||||
|
||||
<Image className="light" src={NewUIV3} alt="new ui" />
|
||||
<Image className="dark" src={NewUIV3Dark} alt="new ui" />
|
||||
|
||||
<h2 class="devlog-steins-gate-divergence-meter-heading">
|
||||
<span class="nixie-digit">0</span>
|
||||
<span class="nixie-digit">.</span>
|
||||
<span class="nixie-digit">5</span>
|
||||
<span class="nixie-digit">7</span>
|
||||
<span class="nixie-digit">1</span>
|
||||
<span class="nixie-digit">0</span>
|
||||
<span class="nixie-digit">2</span>
|
||||
<span class="nixie-digit">4</span>
|
||||
</h2>
|
||||
|
||||
~~Welcome to the β sekaisen.~~
|
||||
|
||||
Since we have the colored card for model radio group, and navigation items,
|
||||
with the customizable themes, it's obvious that we will definitely suffer
|
||||
in debugging the UI components within the business workflows, clearly it
|
||||
will slow us down.
|
||||
|
||||
This is where we made the decision to introduce the amazing tool called
|
||||
[`Histoire`](https://histoire.dev), basically a
|
||||
[Storybook](https://storybook.js.org/) but much more native to
|
||||
[Vite](https://vitejs.dev) and [Vue.js](https://vuejs.org) combination.
|
||||
|
||||
Here's the first look that [@sumimakito](https://github.com/sumimakito)
|
||||
recorded once done:
|
||||
|
||||
<video muted autoplay>
|
||||
<source src="/static/blog/DevLog-2025.03.20/histoire-first-look.mp4" />
|
||||
</video>
|
||||
|
||||
The entire OKLCH color palette can spread on to the canvas all at once
|
||||
for us to take as reference. But it wasn't perfect to tryout the colors
|
||||
and have the same scheme of feelings of Project Airi's theme, was it?
|
||||
|
||||
So I first re-implemented the color slider, which feels much more suitable:
|
||||
|
||||
<Image className="light" src={HistoireColorSlider} alt="color slider" />
|
||||
<Image className="dark" src={HistoireColorSliderDark} alt="color slider" />
|
||||
|
||||
This does make the slider a bit more professional.
|
||||
|
||||
The logo and the default greenish color can be replaced to align the theme
|
||||
of Airi, that's why I designed another dedicated logo for the UI page:
|
||||
|
||||
<Image className="light" src={HistoireLogo} alt="project airi logo for histoire" />
|
||||
<Image className="dark" src={HistoireLogoDark} alt="project airi logo for histoire" />
|
||||
|
||||
Oh, right, the entire UI component has been deployed to Netlify as usual
|
||||
under the path `/ui/`, feel free to take a look at it if you ever wondered
|
||||
how does the UI elements look like:
|
||||
[https://airi.moeru.ai/ui/](https://airi.moeru.ai/ui/)
|
||||
|
||||
There are tons of other features that we cannot cover in this DevLog entirely:
|
||||
|
||||
- [x] Supported for all of the LLM providers.
|
||||
- [x] Improved the animation and transition of menu navigation UI.
|
||||
- [x] Improved the spacing of the fields, new form!
|
||||
- [x] Component for (almost all the todo components on the [Roadmap](https://github.com/moeru-ai/airi/issues/42))
|
||||
- [x] Form
|
||||
- [x] Radio
|
||||
- [x] Radio Group
|
||||
- [x] Model Catalog
|
||||
- [x] Range
|
||||
- [x] Input
|
||||
- [x] Key Value Input
|
||||
- [x] Data Gui
|
||||
- [x] Range
|
||||
- [x] Menu
|
||||
- [x] Menu Item
|
||||
- [x] Menu Status Item
|
||||
- [x] Graphics
|
||||
- [x] 3D
|
||||
- [x] Physics
|
||||
- [x] Cursor Momentum
|
||||
- [x] And more...
|
||||
|
||||
We did some other experiment over the momentum and 3D too.
|
||||
|
||||
Check this out:
|
||||
|
||||
<Image className="light" src={NewUIV4Speech} alt="brand new speech design" />
|
||||
<Image className="dark" src={NewUIV4SpeechDark} alt="brand new speech design" />
|
||||
|
||||
We finally supported speech models configurations 🎉! (Previously was
|
||||
only capable to configure for ElevenLabs) Since the
|
||||
[new `v0.1.2` version](https://github.com/moeru-ai/unspeech/releases/tag/v0.1.2)
|
||||
of another amazing project we were working on called `unspeech`, it's possible
|
||||
to request the Microsoft Speech service (a.k.a. Azure AI Speech service, or
|
||||
Cognitive Speech service) through
|
||||
[`@xsai/generate-speech`](https://xsai.js.org/docs/packages/generate/speech), which
|
||||
means we finally got a OpenAI API compatible TTS for Microsoft.
|
||||
|
||||
But why was this so important to support?
|
||||
|
||||
It's because that for the very first version of Neuro-sama, the text-to-speech
|
||||
service was powered by Microsoft, with the voice named `Ashley`, along with a
|
||||
`+20%` of pitch, you can get the same voice as Neuro-sama's first version, try it
|
||||
yourself:
|
||||
|
||||
<audio>
|
||||
<source src="/static/blog/DevLog-2025.03.20/ashley-pitch-test.mp3" />
|
||||
</audio>
|
||||
|
||||
Isn't it the same, this is insane! That's means, we can finally approach to
|
||||
what Neuro-sama can do with the new **Speech** ability!
|
||||
|
||||
<Image src={SteinsGateMayori} alt="character from anime Steins;Gate" />
|
||||
|
||||
<h2 class="devlog-steins-gate-divergence-meter-heading">
|
||||
<span class="nixie-digit">1</span>
|
||||
<span class="nixie-digit">.</span>
|
||||
<span class="nixie-digit">3</span>
|
||||
<span class="nixie-digit">8</span>
|
||||
<span class="nixie-digit">2</span>
|
||||
<span class="nixie-digit">7</span>
|
||||
<span class="nixie-digit">3</span>
|
||||
<span class="nixie-digit">3</span>
|
||||
</h2>
|
||||
|
||||
With all of those, we can get this result:
|
||||
|
||||
<video control muted autoplay>
|
||||
<source src="/static/blog/DevLog-2025.03.20/airi-demo.mp4" />
|
||||
</video>
|
||||
|
||||
Nearly the same. But our story doesn't end here, currently, we haven't
|
||||
achieved memory, and better motion control, and the transcription settings
|
||||
UI was missing too. Hopefully we can get this done before the end of the
|
||||
month.
|
||||
|
||||
We are planning to have
|
||||
|
||||
- [ ] Memory Postgres + Vector
|
||||
- [ ] Embedding settings UI
|
||||
- [ ] Transcription settings UI
|
||||
- [ ] Memory DuckDB WASM + Vector
|
||||
- [ ] Motion embedding
|
||||
- [ ] Speaches settings UI
|
||||
|
||||
That's all for today's DevLog, thank you to everyone that read the DevLog
|
||||
all the way down here.
|
||||
|
||||
I'll see you all tomorrow.
|
||||
|
||||
> El Psy Congroo.
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
title: About AI VTuber
|
||||
---
|
||||
|
||||
LLM Generated documentation, but contains some useful resources about Japanese TTS modules and services:
|
||||
|
||||
[【AI VTuber作り方ガイド】初心者でも簡単に自動生成する方法 – AI Front Trend](https://ai-front-trend.jp/how-to-make-ai-vtuber/)
|
||||
@@ -16,23 +16,3 @@ hero:
|
||||
icon: right-arrow
|
||||
variant: minimal
|
||||
---
|
||||
|
||||
{/*
|
||||
import { Card, CardGrid } from '@astrojs/starlight/components';
|
||||
|
||||
## Next steps
|
||||
|
||||
<CardGrid stagger>
|
||||
<Card title="Update content" icon="pencil">
|
||||
Edit `src/content/docs/index.mdx` to see this page change.
|
||||
</Card>
|
||||
<Card title="Add new content" icon="add-document">
|
||||
Add Markdown or MDX files to `src/content/docs` to create new pages.
|
||||
</Card>
|
||||
<Card title="Configure your site" icon="setting">
|
||||
Edit your `sidebar` and other config in `astro.config.mjs`.
|
||||
</Card>
|
||||
<Card title="Read the docs" icon="open-book">
|
||||
Learn more in [the Starlight Docs](https://starlight.astro.build/).
|
||||
</Card>
|
||||
</CardGrid> */}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@import './nixie.css';
|
||||
|
||||
/* Dark mode colors. */
|
||||
:root {
|
||||
--sl-color-accent-low: #3f121d;
|
||||
@@ -32,3 +34,15 @@
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[data-theme='dark'] .light {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[data-theme='light'] .dark {
|
||||
display: none;
|
||||
}
|
||||
|
||||
video {
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
.devlog-steins-gate-divergence-meter-heading {
|
||||
font-family: 'Quicksand', sans;
|
||||
font-size: 2.5rem;
|
||||
color: rgb(255 159 32) !important;
|
||||
text-shadow:
|
||||
0 0 5px rgb(241 153 87),
|
||||
0 0 10px rgb(255 110 0);
|
||||
animation: flicker 2s infinite;
|
||||
display: flex;
|
||||
gap: 3px;
|
||||
}
|
||||
|
||||
.nixie-digit {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 24px;
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
background: #170d04;
|
||||
border-top-left-radius: 8px;
|
||||
border-top-right-radius: 8px;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
box-shadow: inset 0px 0px 2px 0px #fff;
|
||||
}
|
||||
|
||||
.nixie-digit::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-size: 3px 3px;
|
||||
background-image: repeating-linear-gradient(
|
||||
90deg,
|
||||
transparent,
|
||||
transparent 2px,
|
||||
#ff9f001a 2px,
|
||||
rgb(221 214 213 / 0%) 3px
|
||||
),
|
||||
repeating-linear-gradient(0deg, transparent, transparent 2px, #ff9f001a 2px, rgb(196 184 182 / 0%) 3px);
|
||||
pointer-events: none;
|
||||
z-index: 4;
|
||||
border-top-left-radius: 8px;
|
||||
border-top-right-radius: 8px;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
|
||||
/* Subtle glass reflection effect */
|
||||
.nixie-digit::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-size: 3px 3px;
|
||||
background-image: repeating-linear-gradient(
|
||||
90deg,
|
||||
transparent,
|
||||
transparent 2px,
|
||||
#ff9f001a 2px,
|
||||
rgb(221 214 213 / 0%) 3px
|
||||
),
|
||||
repeating-linear-gradient(0deg, transparent, transparent 2px, #ff9f001a 2px, rgb(196 184 182 / 0%) 3px);
|
||||
pointer-events: none;
|
||||
z-index: 2;
|
||||
border-top-left-radius: 8px;
|
||||
border-top-right-radius: 8px;
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
|
||||
[data-theme='dark'] .devlog-steins-gate-divergence-meter-heading {
|
||||
color: rgb(255, 157, 77) !important;
|
||||
text-shadow:
|
||||
0 0 7px #ff6a00,
|
||||
0 0 10px #ff6a00;
|
||||
}
|
||||
|
||||
[data-theme='dark'] .nixie-digit {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
[data-theme='dark'] .nixie-digit::before {
|
||||
background-image: repeating-linear-gradient(
|
||||
90deg,
|
||||
transparent,
|
||||
transparent 2px,
|
||||
rgba(30, 30, 30, 0.1) 2px,
|
||||
rgba(30, 30, 30, 0.1) 3px
|
||||
),
|
||||
repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(30, 30, 30, 0.1) 2px, rgba(30, 30, 30, 0.1) 3px);
|
||||
}
|
||||
|
||||
[data-theme='dark'] .nixie-digit::after {
|
||||
height: 35%;
|
||||
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0));
|
||||
border: none;
|
||||
}
|
||||
|
||||
@keyframes flicker {
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
92% {
|
||||
opacity: 1;
|
||||
}
|
||||
93% {
|
||||
opacity: 0.8;
|
||||
}
|
||||
94% {
|
||||
opacity: 1;
|
||||
}
|
||||
98% {
|
||||
opacity: 0.9;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
@@ -418,7 +418,7 @@ importers:
|
||||
version: 2.3.0
|
||||
'@intlify/unplugin-vue-i18n':
|
||||
specifier: ^6.0.5
|
||||
version: 6.0.5(@vue/compiler-dom@3.5.13)(eslint@9.22.0(jiti@2.4.2))(rollup@4.36.0)(typescript@5.8.2)(vue-i18n@11.1.2(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
|
||||
version: 6.0.5(@vue/compiler-dom@3.5.13)(eslint@9.22.0(jiti@2.4.2))(rollup@2.79.1)(typescript@5.8.2)(vue-i18n@11.1.2(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
|
||||
'@proj-airi/drizzle-duckdb-wasm':
|
||||
specifier: workspace:^
|
||||
version: link:../../packages/drizzle-duckdb-wasm
|
||||
@@ -469,7 +469,7 @@ importers:
|
||||
version: 3.0.0-beta.5(typescript@5.8.2)(vue-tsc@3.0.0-alpha.2(typescript@5.8.2))(vue@3.5.13(typescript@5.8.2))
|
||||
'@vueuse/motion':
|
||||
specifier: ^3.0.3
|
||||
version: 3.0.3(magicast@0.3.5)(rollup@4.36.0)(vue@3.5.13(typescript@5.8.2))
|
||||
version: 3.0.3(magicast@0.3.5)(rollup@2.79.1)(vue@3.5.13(typescript@5.8.2))
|
||||
electron:
|
||||
specifier: ^34.3.3
|
||||
version: 34.3.3
|
||||
@@ -490,13 +490,13 @@ importers:
|
||||
version: 3.2.0(unocss@66.1.0-beta.6(postcss@8.5.3)(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.2)))
|
||||
unplugin-auto-import:
|
||||
specifier: ^19.1.1
|
||||
version: 19.1.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.36.0))(@vueuse/core@13.0.0(vue@3.5.13(typescript@5.8.2)))
|
||||
version: 19.1.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(@vueuse/core@13.0.0(vue@3.5.13(typescript@5.8.2)))
|
||||
unplugin-vue-components:
|
||||
specifier: ^28.4.1
|
||||
version: 28.4.1(@babel/parser@7.26.10)(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.36.0))(vue@3.5.13(typescript@5.8.2))
|
||||
version: 28.4.1(@babel/parser@7.26.10)(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(vue@3.5.13(typescript@5.8.2))
|
||||
unplugin-vue-macros:
|
||||
specifier: ^2.14.5
|
||||
version: 2.14.5(@vueuse/core@13.0.0(vue@3.5.13(typescript@5.8.2)))(esbuild@0.25.0)(rollup@4.36.0)(typescript@5.8.2)(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue-tsc@3.0.0-alpha.2(typescript@5.8.2))(vue@3.5.13(typescript@5.8.2))
|
||||
version: 2.14.5(@vueuse/core@13.0.0(vue@3.5.13(typescript@5.8.2)))(esbuild@0.19.12)(rollup@2.79.1)(typescript@5.8.2)(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue-tsc@3.0.0-alpha.2(typescript@5.8.2))(vue@3.5.13(typescript@5.8.2))
|
||||
unplugin-vue-markdown:
|
||||
specifier: ^28.3.1
|
||||
version: 28.3.1(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))
|
||||
@@ -505,13 +505,13 @@ importers:
|
||||
version: 0.12.0(vue-router@4.5.0(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
|
||||
vite-bundle-visualizer:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1(rollup@4.36.0)
|
||||
version: 1.2.1(rollup@2.79.1)
|
||||
vite-plugin-pwa:
|
||||
specifier: ^0.21.1
|
||||
version: 0.21.1(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)
|
||||
vite-plugin-vue-devtools:
|
||||
specifier: ^7.7.2
|
||||
version: 7.7.2(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.36.0))(rollup@4.36.0)(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.2))
|
||||
version: 7.7.2(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(rollup@2.79.1)(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.2))
|
||||
vite-plugin-vue-layouts:
|
||||
specifier: ^0.11.0
|
||||
version: 0.11.0(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
|
||||
@@ -770,7 +770,7 @@ importers:
|
||||
version: 2.3.0
|
||||
'@intlify/unplugin-vue-i18n':
|
||||
specifier: ^6.0.5
|
||||
version: 6.0.5(@vue/compiler-dom@3.5.13)(eslint@9.22.0(jiti@2.4.2))(rollup@2.79.1)(typescript@5.8.2)(vue-i18n@11.1.2(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
|
||||
version: 6.0.5(@vue/compiler-dom@3.5.13)(eslint@9.22.0(jiti@2.4.2))(rollup@4.36.0)(typescript@5.8.2)(vue-i18n@11.1.2(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
|
||||
'@proj-airi/lobe-icons':
|
||||
specifier: ^1.0.4
|
||||
version: 1.0.4
|
||||
@@ -809,7 +809,7 @@ importers:
|
||||
version: 3.0.0-beta.5(typescript@5.8.2)(vue-tsc@3.0.0-alpha.2(typescript@5.8.2))(vue@3.5.13(typescript@5.8.2))
|
||||
'@vueuse/motion':
|
||||
specifier: ^3.0.3
|
||||
version: 3.0.3(magicast@0.3.5)(rollup@2.79.1)(vue@3.5.13(typescript@5.8.2))
|
||||
version: 3.0.3(magicast@0.3.5)(rollup@4.36.0)(vue@3.5.13(typescript@5.8.2))
|
||||
hfup:
|
||||
specifier: workspace:^
|
||||
version: link:../../packages/hfup
|
||||
@@ -821,13 +821,13 @@ importers:
|
||||
version: 4.0.1
|
||||
unplugin-auto-import:
|
||||
specifier: ^19.1.1
|
||||
version: 19.1.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(@vueuse/core@13.0.0(vue@3.5.13(typescript@5.8.2)))
|
||||
version: 19.1.1(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.36.0))(@vueuse/core@13.0.0(vue@3.5.13(typescript@5.8.2)))
|
||||
unplugin-vue-components:
|
||||
specifier: ^28.4.1
|
||||
version: 28.4.1(@babel/parser@7.26.10)(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(vue@3.5.13(typescript@5.8.2))
|
||||
version: 28.4.1(@babel/parser@7.26.10)(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.36.0))(vue@3.5.13(typescript@5.8.2))
|
||||
unplugin-vue-macros:
|
||||
specifier: ^2.14.5
|
||||
version: 2.14.5(@vueuse/core@13.0.0(vue@3.5.13(typescript@5.8.2)))(esbuild@0.19.12)(rollup@2.79.1)(typescript@5.8.2)(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue-tsc@3.0.0-alpha.2(typescript@5.8.2))(vue@3.5.13(typescript@5.8.2))
|
||||
version: 2.14.5(@vueuse/core@13.0.0(vue@3.5.13(typescript@5.8.2)))(esbuild@0.25.0)(rollup@4.36.0)(typescript@5.8.2)(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue-tsc@3.0.0-alpha.2(typescript@5.8.2))(vue@3.5.13(typescript@5.8.2))
|
||||
unplugin-vue-markdown:
|
||||
specifier: ^28.3.1
|
||||
version: 28.3.1(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))
|
||||
@@ -836,13 +836,13 @@ importers:
|
||||
version: 0.12.0(vue-router@4.5.0(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
|
||||
vite-bundle-visualizer:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1(rollup@2.79.1)
|
||||
version: 1.2.1(rollup@4.36.0)
|
||||
vite-plugin-pwa:
|
||||
specifier: ^0.21.1
|
||||
version: 0.21.1(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)
|
||||
vite-plugin-vue-devtools:
|
||||
specifier: ^7.7.2
|
||||
version: 7.7.2(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@2.79.1))(rollup@2.79.1)(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.2))
|
||||
version: 7.7.2(@nuxt/kit@3.14.1592(magicast@0.3.5)(rollup@4.36.0))(rollup@4.36.0)(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.2))
|
||||
vite-plugin-vue-layouts:
|
||||
specifier: ^0.11.0
|
||||
version: 0.11.0(vite@6.2.2(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(terser@5.17.6)(tsx@4.19.3)(yaml@2.7.0))(vue-router@4.5.0(vue@3.5.13(typescript@5.8.2)))(vue@3.5.13(typescript@5.8.2))
|
||||
@@ -855,6 +855,9 @@ importers:
|
||||
'@astrojs/starlight':
|
||||
specifier: ^0.32.3
|
||||
version: 0.32.3(astro@5.5.3(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(rollup@4.36.0)(terser@5.17.6)(tsx@4.19.3)(typescript@5.8.2)(yaml@2.7.0))
|
||||
'@fontsource/quicksand':
|
||||
specifier: ^5.2.6
|
||||
version: 5.2.6
|
||||
astro:
|
||||
specifier: ^5.5.3
|
||||
version: 5.5.3(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(rollup@4.36.0)(terser@5.17.6)(tsx@4.19.3)(typescript@5.8.2)(yaml@2.7.0)
|
||||
@@ -3120,6 +3123,9 @@ packages:
|
||||
'@floating-ui/vue@1.1.6':
|
||||
resolution: {integrity: sha512-XFlUzGHGv12zbgHNk5FN2mUB7ROul3oG2ENdTpWdE+qMFxyNxWSRmsoyhiEnpmabNm6WnUvR1OvJfUfN4ojC1A==}
|
||||
|
||||
'@fontsource/quicksand@5.2.6':
|
||||
resolution: {integrity: sha512-MI1EO6ENXbmAxzwkxhLdCUKLLP6SGQ7IHLktuwOcS7llvK4Ni6QiqFCHZg40wpOfR0Z0FMCOJAqykf3QSqYpFA==}
|
||||
|
||||
'@formkit/auto-animate@0.8.2':
|
||||
resolution: {integrity: sha512-SwPWfeRa5veb1hOIBMdzI+73te5puUBHmqqaF1Bu7FjvxlYSz/kJcZKSa9Cg60zL0uRNeJL2SbRxV6Jp6Q1nFQ==}
|
||||
|
||||
@@ -13752,6 +13758,8 @@ snapshots:
|
||||
- '@vue/composition-api'
|
||||
- vue
|
||||
|
||||
'@fontsource/quicksand@5.2.6': {}
|
||||
|
||||
'@formkit/auto-animate@0.8.2': {}
|
||||
|
||||
'@grammyjs/files@1.1.1(grammy@1.35.0(encoding@0.1.13))':
|
||||
|
||||