fix(airi-plugin-vscode): sync with new server-sdk design
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"publisher": "proj-airi",
|
||||
"name": "airi-vscode",
|
||||
"name": "@proj-airi/airi-plugin-vscode",
|
||||
"displayName": "AIRI",
|
||||
"version": "0.8.0-beta.7",
|
||||
"private": true,
|
||||
@@ -66,6 +66,10 @@
|
||||
"publish": "tsx ./scripts/publish.ts",
|
||||
"typecheck": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"es-toolkit": "catalog:",
|
||||
"injeca": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@guiiai/logg": "catalog:",
|
||||
"@moeru/std": "catalog:",
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
import type { WebSocketEventOptionalSource } from '@proj-airi/server-sdk'
|
||||
|
||||
import type { Events } from './types'
|
||||
|
||||
import { useLogger } from '@guiiai/logg'
|
||||
import { Client as ServerClient } from '@proj-airi/server-sdk'
|
||||
import { ContextUpdateStrategy, Client as ServerClient } from '@proj-airi/server-sdk'
|
||||
|
||||
export class Client {
|
||||
private client: ServerClient<Events> | null = null
|
||||
@@ -27,7 +29,7 @@ export class Client {
|
||||
}
|
||||
}
|
||||
|
||||
async sendEvent(event: Events): Promise<void> {
|
||||
private async send(event: WebSocketEventOptionalSource<Events>): Promise<void> {
|
||||
if (!this.client) {
|
||||
useLogger().warn('Cannot send event: not connected to AIRI Server Channel')
|
||||
return
|
||||
@@ -35,15 +37,21 @@ export class Client {
|
||||
|
||||
try {
|
||||
await this.client.connect()
|
||||
this.client.send({ type: 'vscode:context', data: event })
|
||||
|
||||
useLogger().log(`Sent event to AIRI: ${event.type}`, event)
|
||||
this.client.send(event)
|
||||
}
|
||||
catch (error) {
|
||||
useLogger().errorWithError('Failed to send event to AIRI:', error)
|
||||
}
|
||||
}
|
||||
|
||||
async replaceContext(context: string): Promise<void> {
|
||||
this.send({ type: 'context:update', data: { strategy: ContextUpdateStrategy.ReplaceSelf, text: context } })
|
||||
}
|
||||
|
||||
async appendContext(context: string): Promise<void> {
|
||||
this.send({ type: 'context:update', data: { strategy: ContextUpdateStrategy.AppendSelf, text: context } })
|
||||
}
|
||||
|
||||
isConnected(): boolean {
|
||||
return !!this.client
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import type { DependencyMap, ProvidedKey } from 'injeca'
|
||||
import type * as vscode from 'vscode'
|
||||
|
||||
import { initLogger, LoggerFormat, LoggerLevel, useLogger } from '@guiiai/logg'
|
||||
import { noop } from 'es-toolkit'
|
||||
import { injeca } from 'injeca'
|
||||
import { commands, window, workspace } from 'vscode'
|
||||
|
||||
import { Client } from './airi'
|
||||
import { ContextCollector } from './context-collector'
|
||||
|
||||
let client: Client
|
||||
let contextCollector: ContextCollector
|
||||
let updateTimer: NodeJS.Timeout | null = null
|
||||
let isEnabled = true
|
||||
let eventListeners: vscode.Disposable[] = []
|
||||
|
||||
/**
|
||||
@@ -22,17 +22,38 @@ export async function activate(context: vscode.ExtensionContext) {
|
||||
|
||||
// Get the configuration
|
||||
const config = workspace.getConfiguration('airi-vscode')
|
||||
isEnabled = config.get<boolean>('enabled', true)
|
||||
const isEnabled = config.get<boolean>('enabled', true)
|
||||
const contextLines = config.get<number>('contextLines', 5)
|
||||
const sendInterval = config.get<number>('sendInterval', 3000)
|
||||
|
||||
// Initialize
|
||||
client = new Client()
|
||||
contextCollector = new ContextCollector(contextLines)
|
||||
const vscodeContext = injeca.provide('vscode:context', () => context)
|
||||
const client = injeca.provide('proj-airi:client', () => new Client())
|
||||
const contextCollector = injeca.provide('self:context-collector', () => new ContextCollector(contextLines))
|
||||
|
||||
const extension = injeca.provide('extension', {
|
||||
dependsOn: { client, vscodeContext, contextCollector },
|
||||
build: ({ dependsOn }) => setup({ ...dependsOn, isEnabled, sendInterval }),
|
||||
})
|
||||
|
||||
injeca.invoke({
|
||||
dependsOn: { extension },
|
||||
callback: noop,
|
||||
})
|
||||
|
||||
await injeca.start()
|
||||
}
|
||||
|
||||
async function setup(params: {
|
||||
client: Client
|
||||
vscodeContext: vscode.ExtensionContext
|
||||
contextCollector: ContextCollector
|
||||
isEnabled: boolean
|
||||
sendInterval: number
|
||||
}) {
|
||||
// Connect to Airi Channel Server
|
||||
if (isEnabled) {
|
||||
const connected = await client.connect()
|
||||
if (params.isEnabled) {
|
||||
const connected = await params.client.connect()
|
||||
if (connected) {
|
||||
window.showInformationMessage('AIRI Server Channel connected!')
|
||||
}
|
||||
@@ -42,30 +63,30 @@ export async function activate(context: vscode.ExtensionContext) {
|
||||
}
|
||||
|
||||
// Register commands
|
||||
context.subscriptions.push(
|
||||
params.vscodeContext.subscriptions.push(
|
||||
commands.registerCommand('airi-vscode.enable', async () => {
|
||||
isEnabled = true
|
||||
await client.connect()
|
||||
await registerListeners(sendInterval)
|
||||
params.isEnabled = true
|
||||
await params.client.connect()
|
||||
await registerListeners({ sendInterval: params.sendInterval, contextCollector: params.contextCollector, client: params.client, isEnabled: params.isEnabled })
|
||||
window.showInformationMessage('AIRI enabled!')
|
||||
}),
|
||||
|
||||
commands.registerCommand('airi-vscode.disable', () => {
|
||||
isEnabled = false
|
||||
params.isEnabled = false
|
||||
unregisterListeners()
|
||||
client.disconnect()
|
||||
params.client.disconnect()
|
||||
window.showInformationMessage('AIRI disabled!')
|
||||
}),
|
||||
|
||||
commands.registerCommand('airi-vscode.status', () => {
|
||||
const status = isEnabled && client ? 'Connected' : 'Disconnected'
|
||||
const status = params.isEnabled && params.client ? 'Connected' : 'Disconnected'
|
||||
window.showInformationMessage(`AIRI Server Channel status: ${status}.`)
|
||||
}),
|
||||
)
|
||||
|
||||
// Register event listeners if enabled
|
||||
if (isEnabled) {
|
||||
await registerListeners(sendInterval)
|
||||
if (params.isEnabled) {
|
||||
await registerListeners({ sendInterval: params.sendInterval, contextCollector: params.contextCollector, client: params.client, isEnabled: params.isEnabled })
|
||||
}
|
||||
|
||||
useLogger().log('AIRI activated successfully')
|
||||
@@ -74,7 +95,7 @@ export async function activate(context: vscode.ExtensionContext) {
|
||||
/**
|
||||
* Register event listeners for file save and editor switch
|
||||
*/
|
||||
async function registerListeners(sendInterval: number) {
|
||||
async function registerListeners(params: { contextCollector: ContextCollector, client: Client, isEnabled: boolean, sendInterval: number }) {
|
||||
unregisterListeners()
|
||||
|
||||
// File save event
|
||||
@@ -82,13 +103,11 @@ async function registerListeners(sendInterval: number) {
|
||||
workspace.onDidSaveTextDocument(async (document) => {
|
||||
const editor = window.activeTextEditor
|
||||
if (editor && editor.document === document) {
|
||||
const ctx = await contextCollector.collect(editor)
|
||||
if (ctx) {
|
||||
client.sendEvent({
|
||||
type: 'coding:save',
|
||||
data: ctx,
|
||||
})
|
||||
}
|
||||
const ctx = await params.contextCollector.collect(editor)
|
||||
if (!ctx)
|
||||
return
|
||||
|
||||
params.client.replaceContext(JSON.stringify({ type: 'coding:save', data: ctx }))
|
||||
}
|
||||
}),
|
||||
)
|
||||
@@ -96,21 +115,22 @@ async function registerListeners(sendInterval: number) {
|
||||
// Switch file event
|
||||
eventListeners.push(
|
||||
window.onDidChangeActiveTextEditor(async (editor) => {
|
||||
if (editor) {
|
||||
const ctx = await contextCollector.collect(editor)
|
||||
if (ctx) {
|
||||
client.sendEvent({
|
||||
type: 'coding:switch-file',
|
||||
data: ctx,
|
||||
})
|
||||
}
|
||||
if (!editor) {
|
||||
return
|
||||
}
|
||||
|
||||
const ctx = await params.contextCollector.collect(editor)
|
||||
if (!ctx) {
|
||||
return
|
||||
}
|
||||
|
||||
params.client.replaceContext(JSON.stringify({ type: 'coding:switch-file', data: ctx }))
|
||||
}),
|
||||
)
|
||||
|
||||
// Start periodic monitoring if interval is set
|
||||
if (sendInterval > 0) {
|
||||
startMonitoring(sendInterval)
|
||||
if (params.sendInterval > 0) {
|
||||
startMonitoring({ contextCollector: params.contextCollector, client: params.client, isEnabled: params.isEnabled, interval: params.sendInterval })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,25 +146,23 @@ function unregisterListeners() {
|
||||
/**
|
||||
* Start monitoring the coding context
|
||||
*/
|
||||
function startMonitoring(interval: number) {
|
||||
function startMonitoring(params: { contextCollector: ContextCollector, client: Client, isEnabled: boolean, interval: number }) {
|
||||
stopMonitoring()
|
||||
|
||||
updateTimer = setInterval(async () => {
|
||||
if (!isEnabled)
|
||||
if (!params.isEnabled)
|
||||
return
|
||||
|
||||
const editor = window.activeTextEditor
|
||||
if (!editor)
|
||||
return
|
||||
|
||||
const ctx = await contextCollector.collect(editor)
|
||||
if (ctx) {
|
||||
client.sendEvent({
|
||||
type: 'coding:context',
|
||||
data: ctx,
|
||||
})
|
||||
}
|
||||
}, interval)
|
||||
const ctx = await params.contextCollector.collect(editor)
|
||||
if (!ctx)
|
||||
return
|
||||
|
||||
params.client.replaceContext(JSON.stringify({ type: 'coding:context', data: ctx }))
|
||||
}, params.interval)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -160,7 +178,9 @@ function stopMonitoring() {
|
||||
/**
|
||||
* Deactivate the plugin
|
||||
*/
|
||||
export function deactivate() {
|
||||
export async function deactivate() {
|
||||
const { client } = await injeca.resolve({ client: { key: 'proj-airi:client' } as ProvidedKey<'proj-airi:client', Client, DependencyMap | undefined> })
|
||||
|
||||
unregisterListeners()
|
||||
client?.disconnect()
|
||||
useLogger().log('AIRI deactivated!')
|
||||
|
||||
Generated
+41
-11
@@ -46,10 +46,10 @@ catalogs:
|
||||
specifier: ^0.4.0-beta.12
|
||||
version: 0.4.0-beta.12
|
||||
'@xsai/shared':
|
||||
specifier: ^0.4.0-beta.12
|
||||
specifier: 0.4.0-beta.12
|
||||
version: 0.4.0-beta.12
|
||||
'@xsai/shared-chat':
|
||||
specifier: ^0.4.0-beta.12
|
||||
specifier: 0.4.0-beta.12
|
||||
version: 0.4.0-beta.12
|
||||
'@xsai/stream-text':
|
||||
specifier: ^0.4.0-beta.12
|
||||
@@ -67,8 +67,11 @@ catalogs:
|
||||
specifier: ^8.6.0
|
||||
version: 8.6.0
|
||||
es-toolkit:
|
||||
specifier: ^1.43.0
|
||||
specifier: 1.43.0
|
||||
version: 1.43.0
|
||||
injeca:
|
||||
specifier: ^0.1.5
|
||||
version: 0.1.5
|
||||
posthog-js:
|
||||
specifier: 1.306.1
|
||||
version: 1.306.1
|
||||
@@ -1114,7 +1117,7 @@ importers:
|
||||
version: 11.2.2(vue@3.5.25(typescript@5.9.3))
|
||||
vue-sonner:
|
||||
specifier: ^2.0.9
|
||||
version: 2.0.9(@nuxt/kit@4.0.3(magicast@0.5.1))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(bufferutil@4.0.9)(cac@6.7.14)(db0@0.3.4(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.8.2)(less@4.5.1)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rolldown@1.0.0-beta.53)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-tsc@3.1.8(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.2))
|
||||
version: 2.0.9(@nuxt/kit@4.0.3(magicast@0.5.1))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(bufferutil@4.0.9)(cac@6.7.14)(db0@0.3.4(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.39.2(jiti@2.6.1))(ioredis@5.8.2)(less@4.5.1)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rolldown@1.0.0-beta.53)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-tsc@3.1.8(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.2))
|
||||
devDependencies:
|
||||
'@iconify-json/lucide':
|
||||
specifier: ^1.2.82
|
||||
@@ -1331,7 +1334,14 @@ importers:
|
||||
specifier: 'catalog:'
|
||||
version: 0.1.0-beta.14
|
||||
|
||||
packages/server-shared: {}
|
||||
packages/server-shared:
|
||||
dependencies:
|
||||
'@xsai/shared':
|
||||
specifier: 'catalog:'
|
||||
version: 0.4.0-beta.12
|
||||
'@xsai/shared-chat':
|
||||
specifier: 'catalog:'
|
||||
version: 0.4.0-beta.12
|
||||
|
||||
packages/stage-pages:
|
||||
dependencies:
|
||||
@@ -1962,7 +1972,7 @@ importers:
|
||||
version: rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
|
||||
vite-plugin-vue-devtools:
|
||||
specifier: ^8.0.5
|
||||
version: 8.0.5(@nuxt/kit@4.0.3(magicast@0.5.1))(rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))
|
||||
version: 8.0.5(rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))
|
||||
vue-router:
|
||||
specifier: ^4.6.4
|
||||
version: 4.6.4(vue@3.5.25(typescript@5.9.3))
|
||||
@@ -1996,7 +2006,7 @@ importers:
|
||||
version: rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
|
||||
vite-plugin-vue-devtools:
|
||||
specifier: ^8.0.5
|
||||
version: 8.0.5(@nuxt/kit@4.0.3(magicast@0.5.1))(rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))
|
||||
version: 8.0.5(rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))
|
||||
vue-router:
|
||||
specifier: ^4.6.4
|
||||
version: 4.6.4(vue@3.5.25(typescript@5.9.3))
|
||||
@@ -2070,6 +2080,13 @@ importers:
|
||||
version: 3.1.8(typescript@5.9.3)
|
||||
|
||||
plugins/airi-plugin-vscode:
|
||||
dependencies:
|
||||
es-toolkit:
|
||||
specifier: 'catalog:'
|
||||
version: 1.43.0
|
||||
injeca:
|
||||
specifier: 'catalog:'
|
||||
version: 0.1.5(@guiiai/logg@1.2.11)(error-stack-parser@2.1.4)(nanoid@5.1.6)
|
||||
devDependencies:
|
||||
'@guiiai/logg':
|
||||
specifier: 'catalog:'
|
||||
@@ -29638,7 +29655,7 @@ snapshots:
|
||||
- yaml
|
||||
optional: true
|
||||
|
||||
nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(bufferutil@4.0.9)(cac@6.7.14)(db0@0.3.4(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.8.2)(less@4.5.1)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rolldown@1.0.0-beta.53)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-tsc@3.1.8(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.2):
|
||||
nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(bufferutil@4.0.9)(cac@6.7.14)(db0@0.3.4(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.39.2(jiti@2.6.1))(ioredis@5.8.2)(less@4.5.1)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rolldown@1.0.0-beta.53)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-tsc@3.1.8(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.2):
|
||||
dependencies:
|
||||
'@nuxt/cli': 3.31.3(cac@6.7.14)(magicast@0.5.1)
|
||||
'@nuxt/devalue': 2.0.2
|
||||
@@ -33334,7 +33351,6 @@ snapshots:
|
||||
'@nuxt/kit': 3.20.2(magicast@0.3.5)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
optional: true
|
||||
|
||||
vite-plugin-inspect@11.3.3(@nuxt/kit@3.20.2(magicast@0.3.5))(vite@6.4.1(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)):
|
||||
dependencies:
|
||||
@@ -33413,6 +33429,20 @@ snapshots:
|
||||
- supports-color
|
||||
- vue
|
||||
|
||||
vite-plugin-vue-devtools@8.0.5(rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3)):
|
||||
dependencies:
|
||||
'@vue/devtools-core': 8.0.5(rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.25(typescript@5.9.3))
|
||||
'@vue/devtools-kit': 8.0.5
|
||||
'@vue/devtools-shared': 8.0.5
|
||||
sirv: 3.0.2
|
||||
vite: rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
|
||||
vite-plugin-inspect: 11.3.3(@nuxt/kit@3.20.2(magicast@0.3.5))(rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
|
||||
vite-plugin-vue-inspector: 5.3.2(rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
|
||||
transitivePeerDependencies:
|
||||
- '@nuxt/kit'
|
||||
- supports-color
|
||||
- vue
|
||||
|
||||
vite-plugin-vue-inspector@5.3.2(rolldown-vite@7.2.11(@types/node@24.10.4)(esbuild@0.25.12)(jiti@2.6.1)(less@4.5.1)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)):
|
||||
dependencies:
|
||||
'@babel/core': 7.28.5
|
||||
@@ -33779,11 +33809,11 @@ snapshots:
|
||||
'@nuxt/schema': 4.0.3
|
||||
nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(bufferutil@4.0.9)(cac@6.7.14)(db0@0.3.4(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.8.2)(less@4.5.1)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rolldown@1.0.0-beta.53)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@6.4.1(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-tsc@3.1.8(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.2)
|
||||
|
||||
vue-sonner@2.0.9(@nuxt/kit@4.0.3(magicast@0.5.1))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(bufferutil@4.0.9)(cac@6.7.14)(db0@0.3.4(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.8.2)(less@4.5.1)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rolldown@1.0.0-beta.53)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-tsc@3.1.8(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.2)):
|
||||
vue-sonner@2.0.9(@nuxt/kit@4.0.3(magicast@0.5.1))(@nuxt/schema@4.0.3)(nuxt@4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(bufferutil@4.0.9)(cac@6.7.14)(db0@0.3.4(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.39.2(jiti@2.6.1))(ioredis@5.8.2)(less@4.5.1)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rolldown@1.0.0-beta.53)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-tsc@3.1.8(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.2)):
|
||||
optionalDependencies:
|
||||
'@nuxt/kit': 4.0.3(magicast@0.5.1)
|
||||
'@nuxt/schema': 4.0.3
|
||||
nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(bufferutil@4.0.9)(cac@6.7.14)(db0@0.3.4(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(encoding@0.1.13)(eslint@9.39.2(jiti@2.6.1))(ioredis@5.8.2)(less@4.5.1)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rolldown@1.0.0-beta.53)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-tsc@3.1.8(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.2)
|
||||
nuxt: 4.0.3(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.0)(@types/node@24.10.4)(@vue/compiler-sfc@3.5.26)(bufferutil@4.0.9)(cac@6.7.14)(db0@0.3.4(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7)))(drizzle-orm@0.45.1(@opentelemetry/api@1.9.0)(@types/pg@8.16.0)(gel@2.0.0)(pg@8.16.3)(postgres@3.4.7))(eslint@9.39.2(jiti@2.6.1))(ioredis@5.8.2)(less@4.5.1)(lightningcss@1.30.2)(magicast@0.5.1)(optionator@0.9.4)(rolldown@1.0.0-beta.53)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(utf-8-validate@5.0.10)(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(less@4.5.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))(vue-tsc@3.1.8(typescript@5.9.3))(xml2js@0.6.2)(yaml@2.8.2)
|
||||
|
||||
vue-tsc@3.1.8(typescript@5.9.3):
|
||||
dependencies:
|
||||
|
||||
+4
-3
@@ -35,14 +35,15 @@ catalog:
|
||||
'@xsai/generate-text': ^0.4.0-beta.12
|
||||
'@xsai/generate-transcription': ^0.4.0-beta.12
|
||||
'@xsai/model': ^0.4.0-beta.12
|
||||
'@xsai/shared': ^0.4.0-beta.12
|
||||
'@xsai/shared-chat': ^0.4.0-beta.12
|
||||
'@xsai/shared': 0.4.0-beta.12
|
||||
'@xsai/shared-chat': 0.4.0-beta.12
|
||||
'@xsai/stream-text': ^0.4.0-beta.12
|
||||
'@xsai/tool': ^0.4.0-beta.12
|
||||
'@xsai/utils-chat': 0.4.0-beta.5
|
||||
builder-util-runtime: ^9.3.1
|
||||
embla-carousel-vue: ^8.6.0
|
||||
es-toolkit: ^1.43.0
|
||||
es-toolkit: 1.43.0
|
||||
injeca: ^0.1.5
|
||||
posthog-js: 1.306.1
|
||||
uncrypto: ^0.1.3
|
||||
xsschema: ^0.4.0-beta.12
|
||||
|
||||
Reference in New Issue
Block a user