diff --git a/bun.lockb b/bun.lockb index c4db671..24bd2f1 100644 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/packages/client/auto-imports.d.ts b/packages/client/auto-imports.d.ts index ff4db06..3bea22b 100644 --- a/packages/client/auto-imports.d.ts +++ b/packages/client/auto-imports.d.ts @@ -7,7 +7,17 @@ export {} declare global { const $fetch: typeof import('ofetch')['$fetch'] + const AIProviderNoImplementedChatError: typeof import('./src/composables/useChat/modules/error')['AIProviderNoImplementedChatError'] + const AIProviderNoImplementedPaintError: typeof import('./src/composables/useChat/modules/error')['AIProviderNoImplementedPaintError'] + const ApiError: typeof import('./src/composables/useChat/modules/error')['ApiError'] + const BaseError: typeof import('./src/composables/useChat/modules/error')['BaseError'] + const Chat: typeof import('./src/composables/useChat/Chat')['Chat'] + const ChatboxAIAPIError: typeof import('./src/composables/useChat/modules/error')['ChatboxAIAPIError'] const EffectScope: typeof import('vue')['EffectScope'] + const MessageHelper: typeof import('./src/composables/useChat/modules/MessageHelper')['MessageHelper'] + const NetworkError: typeof import('./src/composables/useChat/modules/error')['NetworkError'] + const Ollama: typeof import('./src/composables/useChat/provider/Ollama')['Ollama'] + const OpenAI: typeof import('./src/composables/useChat/provider/Openai')['OpenAI'] const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate'] const clearSSRContext: typeof import('../../internal/x/composables/ssrContext')['clearSSRContext'] const computed: typeof import('vue')['computed'] @@ -79,6 +89,7 @@ declare global { const unref: typeof import('vue')['unref'] const useAttrs: typeof import('vue')['useAttrs'] const useAuthStore: typeof import('./src/store/auth')['useAuthStore'] + const useChat: typeof import('./src/composables/useChat/index')['useChat'] const useCookie: typeof import('../../internal/x/composables/useCookie')['useCookie'] const useCssModule: typeof import('vue')['useCssModule'] const useCssVars: typeof import('vue')['useCssVars'] @@ -110,6 +121,24 @@ declare global { export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, ShallowRef, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue' import('vue') // @ts-ignore + export type { Chat } from './src/composables/useChat/Chat' + import('./src/composables/useChat/Chat') + // @ts-ignore + export type { MessageHelper } from './src/composables/useChat/modules/MessageHelper' + import('./src/composables/useChat/modules/MessageHelper') + // @ts-ignore + export type { BaseError, ApiError, NetworkError, AIProviderNoImplementedPaintError, AIProviderNoImplementedChatError, ChatboxAIAPIError } from './src/composables/useChat/modules/error' + import('./src/composables/useChat/modules/error') + // @ts-ignore + export type { Ollama, OllamaModelConfig } from './src/composables/useChat/provider/Ollama' + import('./src/composables/useChat/provider/Ollama') + // @ts-ignore + export type { OpenAI, OpenAIModelConfig } from './src/composables/useChat/provider/Openai' + import('./src/composables/useChat/provider/Openai') + // @ts-ignore + export type { MessageFn, ResponseFn, ModelConfig } from './src/composables/useChat/type' + import('./src/composables/useChat/type') + // @ts-ignore export type { CookieOptions } from '../../internal/x/composables/cookieUtils' import('../../internal/x/composables/cookieUtils') // @ts-ignore @@ -123,7 +152,17 @@ declare module 'vue' { interface GlobalComponents {} interface ComponentCustomProperties { readonly $fetch: UnwrapRef + readonly AIProviderNoImplementedChatError: UnwrapRef + readonly AIProviderNoImplementedPaintError: UnwrapRef + readonly ApiError: UnwrapRef + readonly BaseError: UnwrapRef + readonly Chat: UnwrapRef + readonly ChatboxAIAPIError: UnwrapRef readonly EffectScope: UnwrapRef + readonly MessageHelper: UnwrapRef + readonly NetworkError: UnwrapRef + readonly Ollama: UnwrapRef + readonly OpenAI: UnwrapRef readonly acceptHMRUpdate: UnwrapRef readonly clearSSRContext: UnwrapRef readonly computed: UnwrapRef @@ -195,6 +234,7 @@ declare module 'vue' { readonly unref: UnwrapRef readonly useAttrs: UnwrapRef readonly useAuthStore: UnwrapRef + readonly useChat: UnwrapRef readonly useCookie: UnwrapRef readonly useCssModule: UnwrapRef readonly useCssVars: UnwrapRef diff --git a/packages/client/package.json b/packages/client/package.json index d98baf8..115d4ee 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -20,6 +20,7 @@ "@vitejs/plugin-vue": "^6.0.1", "ant-design-x-vue": "^1.3.2", "dompurify": "^3.2.7", + "eventsource-parser": "^3.0.6", "htmlparser2": "^10.0.0", "jsdom": "^27.0.0", "marked": "^16.3.0", diff --git a/packages/client/public/deepseek.svg b/packages/client/public/deepseek.svg new file mode 100644 index 0000000..82c91eb --- /dev/null +++ b/packages/client/public/deepseek.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/client/src/components/ChatBox/index.vue b/packages/client/src/components/ChatBox/index.vue index 43b75c6..2924086 100644 --- a/packages/client/src/components/ChatBox/index.vue +++ b/packages/client/src/components/ChatBox/index.vue @@ -1,27 +1,92 @@