@incremark/chat-vue 0.4.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/dist/chunk-X3YI3YOK.js +3809 -0
- package/dist/chunk-X3YI3YOK.js.map +1 -0
- package/dist/components/base/action-button/action-button.vue.d.ts +28 -0
- package/dist/components/base/action-button/index.d.ts +5 -0
- package/dist/components/base/action-button/types/index.d.ts +9 -0
- package/dist/components/base/im-button/im-button.vue.d.ts +30 -0
- package/dist/components/base/im-button/index.d.ts +2 -0
- package/dist/components/base/im-button/types/index.d.ts +27 -0
- package/dist/components/base/im-dropdown/im-dropdown.vue.d.ts +24 -0
- package/dist/components/base/im-dropdown/index.d.ts +5 -0
- package/dist/components/base/im-dropdown/types/index.d.ts +27 -0
- package/dist/components/base/im-popover/im-popover.vue.d.ts +38 -0
- package/dist/components/base/im-popover/index.d.ts +2 -0
- package/dist/components/base/im-popover/types/index.d.ts +25 -0
- package/dist/components/base/im-tooltip/im-tooltip.vue.d.ts +20 -0
- package/dist/components/base/im-tooltip/index.d.ts +2 -0
- package/dist/components/base/im-tooltip/types/index.d.ts +12 -0
- package/dist/components/base/index.d.ts +8 -0
- package/dist/components/chain-of-thought/chain-of-thought-step.vue.d.ts +25 -0
- package/dist/components/chain-of-thought/chain-of-thought.vue.d.ts +32 -0
- package/dist/components/chain-of-thought/composables/index.d.ts +4 -0
- package/dist/components/chain-of-thought/composables/useChainOfThought.d.ts +7 -0
- package/dist/components/chain-of-thought/index.d.ts +6 -0
- package/dist/components/chain-of-thought/types/index.d.ts +76 -0
- package/dist/components/error-message/error-message.vue.d.ts +22 -0
- package/dist/components/error-message/index.d.ts +5 -0
- package/dist/components/error-message/types/index.d.ts +22 -0
- package/dist/components/file-preview/composables/index.d.ts +1 -0
- package/dist/components/file-preview/composables/useFileType.d.ts +40 -0
- package/dist/components/file-preview/file-preview.vue.d.ts +13 -0
- package/dist/components/file-preview/index.d.ts +5 -0
- package/dist/components/file-preview/types/index.d.ts +44 -0
- package/dist/components/index.d.ts +34 -0
- package/dist/components/message-actions/composables/index.d.ts +5 -0
- package/dist/components/message-actions/composables/useCopyAction.d.ts +20 -0
- package/dist/components/message-actions/index.d.ts +11 -0
- package/dist/components/message-actions/message-action-copy.vue.d.ts +7 -0
- package/dist/components/message-actions/message-action-feedback.vue.d.ts +14 -0
- package/dist/components/message-actions/message-action-more.vue.d.ts +10 -0
- package/dist/components/message-actions/message-action.vue.d.ts +21 -0
- package/dist/components/message-actions/message-actions.vue.d.ts +23 -0
- package/dist/components/message-actions/types/index.d.ts +107 -0
- package/dist/components/message-bubble/index.d.ts +2 -0
- package/dist/components/message-bubble/message-bubble.vue.d.ts +27 -0
- package/dist/components/message-bubble/types/index.d.ts +37 -0
- package/dist/components/message-renderer/index.d.ts +6 -0
- package/dist/components/message-renderer/part-renderer.vue.d.ts +19 -0
- package/dist/components/message-renderer/types/index.d.ts +37 -0
- package/dist/components/reasoning-message/index.d.ts +5 -0
- package/dist/components/reasoning-message/reasoning-message.vue.d.ts +8 -0
- package/dist/components/reasoning-message/types/index.d.ts +38 -0
- package/dist/components/sender/components/sender-action-button.vue.d.ts +24 -0
- package/dist/components/sender/components/sender-attachments.vue.d.ts +11 -0
- package/dist/components/sender/components/sender-file-button.vue.d.ts +11 -0
- package/dist/components/sender/components/sender-submit-button.vue.d.ts +21 -0
- package/dist/components/sender/composables/index.d.ts +2 -0
- package/dist/components/sender/composables/useSender.d.ts +31 -0
- package/dist/components/sender/index.d.ts +7 -0
- package/dist/components/sender/sender.vue.d.ts +66 -0
- package/dist/components/sender/types/index.d.ts +174 -0
- package/dist/components/sender-input/index.d.ts +1 -0
- package/dist/components/sender-input/sender-input.vue.d.ts +36 -0
- package/dist/components/sender-input/types/index.d.ts +24 -0
- package/dist/components/source-reference/index.d.ts +5 -0
- package/dist/components/source-reference/source-reference.vue.d.ts +20 -0
- package/dist/components/source-reference/types/index.d.ts +13 -0
- package/dist/components/suggestion/index.d.ts +6 -0
- package/dist/components/suggestion/suggestion-item.vue.d.ts +21 -0
- package/dist/components/suggestion/suggestion.vue.d.ts +22 -0
- package/dist/components/suggestion/types/index.d.ts +27 -0
- package/dist/components/svg-icon/index.d.ts +1 -0
- package/dist/components/svg-icon/svg-icon.vue.d.ts +13 -0
- package/dist/components/text-message/index.d.ts +5 -0
- package/dist/components/text-message/text-message.vue.d.ts +6 -0
- package/dist/components/text-message/types/index.d.ts +32 -0
- package/dist/components/tool-call/index.d.ts +5 -0
- package/dist/components/tool-call/tool-call.vue.d.ts +18 -0
- package/dist/components/tool-call/types/index.d.ts +81 -0
- package/dist/components/welcome/index.d.ts +5 -0
- package/dist/components/welcome/types/index.d.ts +19 -0
- package/dist/components/welcome/welcome.vue.d.ts +28 -0
- package/dist/components.js +3 -0
- package/dist/components.js.map +1 -0
- package/dist/composables/index.d.ts +2 -0
- package/dist/composables/useCollapsible.d.ts +4 -0
- package/dist/composables/useUIAdapter.d.ts +14 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/provider/ChatProvider.vue.d.ts +14 -0
- package/dist/provider/index.d.ts +4 -0
- package/dist/types/adapter.d.ts +64 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/message.d.ts +5 -0
- package/dist/types/parts.d.ts +5 -0
- package/package.json +83 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["src/provider/ChatProvider.vue","sfc-template:/Users/yishuai/develop/ai/markdown/packages/chat-vue/src/provider/ChatProvider.vue?type=template","../src/provider/ChatProvider.vue"],"names":["_renderSlot","ChatProvider_default"],"mappings":";;;;;;;;;;;AAUA,IAAA,MAAM,KAAA,GAAQ,OAAA;AAGd,IAAA,gBAAA,CAAiB,MAAM,OAAO,CAAA;;;;;;ACXvB,SAAS,OAAO,IAAA,EAAM,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAQ,OAAO,QAAA,EAAU;AACpE,EAAA,OAAOA,UAAA,CAAY,IAAA,CAAK,MAAA,EAAQ,SAAS,CAAA;AAC3C;;;ACJ+O,oBAAA,CAAO,MAAA,GAAS,MAAA;AAAO,oBAAA,CAAO,MAAA,GAAS,+BAAA;AAAgC,IAAOC,qBAAAA,GAAQ","file":"index.js","sourcesContent":["<script setup lang=\"ts\">\n/**\n * ChatProvider - 聊天组件全局配置提供者\n *\n * 用于注入 UI 适配器等全局配置\n */\n\nimport { provideUIAdapter } from '../composables/useUIAdapter';\nimport type { ChatProviderProps } from '../types/adapter';\n\nconst props = defineProps<ChatProviderProps>();\n\n// 注入 UI 适配器\nprovideUIAdapter(props.adapter);\n</script>\n\n<template>\n <slot />\n</template>\n","import { renderSlot as _renderSlot } from \"vue\"\n\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n return _renderSlot(_ctx.$slots, \"default\")\n}","import script from \"/Users/yishuai/develop/ai/markdown/packages/chat-vue/src/provider/ChatProvider.vue?type=script\";import { render } from \"/Users/yishuai/develop/ai/markdown/packages/chat-vue/src/provider/ChatProvider.vue?type=template\"; script.render = render;script.__file = \"src/provider/ChatProvider.vue\";export default script;"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ChatProviderProps } from '../types/adapter';
|
|
2
|
+
declare var __VLS_1: {};
|
|
3
|
+
type __VLS_Slots = {} & {
|
|
4
|
+
default?: (props: typeof __VLS_1) => any;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_base: import("vue").DefineComponent<ChatProviderProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ChatProviderProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
10
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
11
|
+
new (): {
|
|
12
|
+
$slots: S;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI Adapter 类型定义
|
|
3
|
+
* 用于注入自定义 UI 组件库
|
|
4
|
+
*/
|
|
5
|
+
import type { Component } from 'vue';
|
|
6
|
+
/**
|
|
7
|
+
* 按钮意图类型
|
|
8
|
+
* - action: 操作按钮(如消息操作栏的按钮)
|
|
9
|
+
* - primary: 主要操作
|
|
10
|
+
* - secondary: 次要操作
|
|
11
|
+
* - danger: 危险操作
|
|
12
|
+
*/
|
|
13
|
+
export type ButtonIntent = 'action' | 'primary' | 'secondary' | 'danger';
|
|
14
|
+
/**
|
|
15
|
+
* 按钮尺寸
|
|
16
|
+
*/
|
|
17
|
+
export type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
18
|
+
/**
|
|
19
|
+
* ActionButton 统一配置
|
|
20
|
+
* 用于描述按钮的意图,各 adapter 内部转换为具体 props
|
|
21
|
+
*/
|
|
22
|
+
export interface ActionButtonOptions {
|
|
23
|
+
/** 按钮意图 */
|
|
24
|
+
intent?: ButtonIntent;
|
|
25
|
+
/** 按钮尺寸 */
|
|
26
|
+
size?: ButtonSize;
|
|
27
|
+
/** 是否为正方形(icon-only) */
|
|
28
|
+
square?: boolean;
|
|
29
|
+
/** 是否为圆形 */
|
|
30
|
+
circle?: boolean;
|
|
31
|
+
/** 是否禁用 */
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
/** 是否加载中 */
|
|
34
|
+
loading?: boolean;
|
|
35
|
+
/** 是否选中/激活状态 */
|
|
36
|
+
active?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* UI Adapter 接口
|
|
40
|
+
* 用户可通过 ChatProvider 注入自定义组件
|
|
41
|
+
*/
|
|
42
|
+
export interface UIAdapter {
|
|
43
|
+
/** 按钮组件 */
|
|
44
|
+
Button?: Component;
|
|
45
|
+
/** Tooltip 组件 */
|
|
46
|
+
Tooltip?: Component;
|
|
47
|
+
/** 图标组件映射 */
|
|
48
|
+
icons?: {
|
|
49
|
+
copy?: Component;
|
|
50
|
+
check?: Component;
|
|
51
|
+
thumbUp?: Component;
|
|
52
|
+
thumbUpFilled?: Component;
|
|
53
|
+
thumbDown?: Component;
|
|
54
|
+
thumbDownFilled?: Component;
|
|
55
|
+
refresh?: Component;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* ChatProvider Props
|
|
60
|
+
*/
|
|
61
|
+
export interface ChatProviderProps {
|
|
62
|
+
/** UI 适配器 */
|
|
63
|
+
adapter?: UIAdapter;
|
|
64
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@incremark/chat-vue",
|
|
3
|
+
"version": "0.4.0-alpha.1",
|
|
4
|
+
"description": "Vue 3 implementation of Incremark Chat-UI with incremental rendering support.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./components": {
|
|
15
|
+
"types": "./dist/components/index.d.ts",
|
|
16
|
+
"import": "./dist/components/index.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"peerDependencies": {
|
|
23
|
+
"vue": "^3.5.26"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@floating-ui/vue": "^1.1.6",
|
|
27
|
+
"@iconify/vue": "^4.3.0",
|
|
28
|
+
"@tiptap/extension-document": "^3.15.3",
|
|
29
|
+
"@tiptap/extension-paragraph": "^3.15.3",
|
|
30
|
+
"@tiptap/extension-text": "^3.15.3",
|
|
31
|
+
"@tiptap/extensions": "^3.15.3",
|
|
32
|
+
"@tiptap/markdown": "^3.15.3",
|
|
33
|
+
"@tiptap/pm": "^3.15.3",
|
|
34
|
+
"@tiptap/vue-3": "^3.15.3",
|
|
35
|
+
"@vueuse/core": "^14.1.0",
|
|
36
|
+
"@incremark/shared": "0.4.0-alpha.1",
|
|
37
|
+
"@incremark/theme": "0.4.0-alpha.1",
|
|
38
|
+
"@incremark/vue": "0.4.0-alpha.1",
|
|
39
|
+
"@incremark/chat-core": "0.4.0-alpha.1"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@iconify-json/ph": "^1.2.2",
|
|
43
|
+
"@storybook/addon-docs": "^10.1.11",
|
|
44
|
+
"@storybook/addon-links": "^10.1.11",
|
|
45
|
+
"@storybook/addon-themes": "^10.1.11",
|
|
46
|
+
"@storybook/vue3": "^10.1.11",
|
|
47
|
+
"@storybook/vue3-vite": "^10.1.11",
|
|
48
|
+
"@vitejs/plugin-vue": "^6.0.3",
|
|
49
|
+
"@vue-macros/volar": "^3.1.2",
|
|
50
|
+
"esbuild-plugin-vue3": "^0.5.1",
|
|
51
|
+
"remark-gfm": "^4.0.1",
|
|
52
|
+
"storybook": "^10.1.11",
|
|
53
|
+
"tsup": "^8.5.1",
|
|
54
|
+
"typescript": "^5.3.0",
|
|
55
|
+
"vite": "^7.3.1",
|
|
56
|
+
"vitest": "^4.0.16",
|
|
57
|
+
"vue": "^3.5.26"
|
|
58
|
+
},
|
|
59
|
+
"keywords": [
|
|
60
|
+
"ai",
|
|
61
|
+
"chat",
|
|
62
|
+
"vue",
|
|
63
|
+
"vue3",
|
|
64
|
+
"incremental",
|
|
65
|
+
"streaming",
|
|
66
|
+
"markdown"
|
|
67
|
+
],
|
|
68
|
+
"license": "MIT",
|
|
69
|
+
"repository": {
|
|
70
|
+
"type": "git",
|
|
71
|
+
"url": "https://github.com/kingshuaishuai/incremark.git",
|
|
72
|
+
"directory": "packages/chat-vue"
|
|
73
|
+
},
|
|
74
|
+
"scripts": {
|
|
75
|
+
"build": "tsup && pnpm run build:types",
|
|
76
|
+
"build:types": "vue-tsc -p tsconfig.build.json",
|
|
77
|
+
"dev": "tsup --watch",
|
|
78
|
+
"test": "vitest",
|
|
79
|
+
"test:run": "vitest run",
|
|
80
|
+
"sb": "storybook dev -p 6016",
|
|
81
|
+
"build-sb": "storybook build"
|
|
82
|
+
}
|
|
83
|
+
}
|