@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.
Files changed (97) hide show
  1. package/LICENSE +22 -0
  2. package/dist/chunk-X3YI3YOK.js +3809 -0
  3. package/dist/chunk-X3YI3YOK.js.map +1 -0
  4. package/dist/components/base/action-button/action-button.vue.d.ts +28 -0
  5. package/dist/components/base/action-button/index.d.ts +5 -0
  6. package/dist/components/base/action-button/types/index.d.ts +9 -0
  7. package/dist/components/base/im-button/im-button.vue.d.ts +30 -0
  8. package/dist/components/base/im-button/index.d.ts +2 -0
  9. package/dist/components/base/im-button/types/index.d.ts +27 -0
  10. package/dist/components/base/im-dropdown/im-dropdown.vue.d.ts +24 -0
  11. package/dist/components/base/im-dropdown/index.d.ts +5 -0
  12. package/dist/components/base/im-dropdown/types/index.d.ts +27 -0
  13. package/dist/components/base/im-popover/im-popover.vue.d.ts +38 -0
  14. package/dist/components/base/im-popover/index.d.ts +2 -0
  15. package/dist/components/base/im-popover/types/index.d.ts +25 -0
  16. package/dist/components/base/im-tooltip/im-tooltip.vue.d.ts +20 -0
  17. package/dist/components/base/im-tooltip/index.d.ts +2 -0
  18. package/dist/components/base/im-tooltip/types/index.d.ts +12 -0
  19. package/dist/components/base/index.d.ts +8 -0
  20. package/dist/components/chain-of-thought/chain-of-thought-step.vue.d.ts +25 -0
  21. package/dist/components/chain-of-thought/chain-of-thought.vue.d.ts +32 -0
  22. package/dist/components/chain-of-thought/composables/index.d.ts +4 -0
  23. package/dist/components/chain-of-thought/composables/useChainOfThought.d.ts +7 -0
  24. package/dist/components/chain-of-thought/index.d.ts +6 -0
  25. package/dist/components/chain-of-thought/types/index.d.ts +76 -0
  26. package/dist/components/error-message/error-message.vue.d.ts +22 -0
  27. package/dist/components/error-message/index.d.ts +5 -0
  28. package/dist/components/error-message/types/index.d.ts +22 -0
  29. package/dist/components/file-preview/composables/index.d.ts +1 -0
  30. package/dist/components/file-preview/composables/useFileType.d.ts +40 -0
  31. package/dist/components/file-preview/file-preview.vue.d.ts +13 -0
  32. package/dist/components/file-preview/index.d.ts +5 -0
  33. package/dist/components/file-preview/types/index.d.ts +44 -0
  34. package/dist/components/index.d.ts +34 -0
  35. package/dist/components/message-actions/composables/index.d.ts +5 -0
  36. package/dist/components/message-actions/composables/useCopyAction.d.ts +20 -0
  37. package/dist/components/message-actions/index.d.ts +11 -0
  38. package/dist/components/message-actions/message-action-copy.vue.d.ts +7 -0
  39. package/dist/components/message-actions/message-action-feedback.vue.d.ts +14 -0
  40. package/dist/components/message-actions/message-action-more.vue.d.ts +10 -0
  41. package/dist/components/message-actions/message-action.vue.d.ts +21 -0
  42. package/dist/components/message-actions/message-actions.vue.d.ts +23 -0
  43. package/dist/components/message-actions/types/index.d.ts +107 -0
  44. package/dist/components/message-bubble/index.d.ts +2 -0
  45. package/dist/components/message-bubble/message-bubble.vue.d.ts +27 -0
  46. package/dist/components/message-bubble/types/index.d.ts +37 -0
  47. package/dist/components/message-renderer/index.d.ts +6 -0
  48. package/dist/components/message-renderer/part-renderer.vue.d.ts +19 -0
  49. package/dist/components/message-renderer/types/index.d.ts +37 -0
  50. package/dist/components/reasoning-message/index.d.ts +5 -0
  51. package/dist/components/reasoning-message/reasoning-message.vue.d.ts +8 -0
  52. package/dist/components/reasoning-message/types/index.d.ts +38 -0
  53. package/dist/components/sender/components/sender-action-button.vue.d.ts +24 -0
  54. package/dist/components/sender/components/sender-attachments.vue.d.ts +11 -0
  55. package/dist/components/sender/components/sender-file-button.vue.d.ts +11 -0
  56. package/dist/components/sender/components/sender-submit-button.vue.d.ts +21 -0
  57. package/dist/components/sender/composables/index.d.ts +2 -0
  58. package/dist/components/sender/composables/useSender.d.ts +31 -0
  59. package/dist/components/sender/index.d.ts +7 -0
  60. package/dist/components/sender/sender.vue.d.ts +66 -0
  61. package/dist/components/sender/types/index.d.ts +174 -0
  62. package/dist/components/sender-input/index.d.ts +1 -0
  63. package/dist/components/sender-input/sender-input.vue.d.ts +36 -0
  64. package/dist/components/sender-input/types/index.d.ts +24 -0
  65. package/dist/components/source-reference/index.d.ts +5 -0
  66. package/dist/components/source-reference/source-reference.vue.d.ts +20 -0
  67. package/dist/components/source-reference/types/index.d.ts +13 -0
  68. package/dist/components/suggestion/index.d.ts +6 -0
  69. package/dist/components/suggestion/suggestion-item.vue.d.ts +21 -0
  70. package/dist/components/suggestion/suggestion.vue.d.ts +22 -0
  71. package/dist/components/suggestion/types/index.d.ts +27 -0
  72. package/dist/components/svg-icon/index.d.ts +1 -0
  73. package/dist/components/svg-icon/svg-icon.vue.d.ts +13 -0
  74. package/dist/components/text-message/index.d.ts +5 -0
  75. package/dist/components/text-message/text-message.vue.d.ts +6 -0
  76. package/dist/components/text-message/types/index.d.ts +32 -0
  77. package/dist/components/tool-call/index.d.ts +5 -0
  78. package/dist/components/tool-call/tool-call.vue.d.ts +18 -0
  79. package/dist/components/tool-call/types/index.d.ts +81 -0
  80. package/dist/components/welcome/index.d.ts +5 -0
  81. package/dist/components/welcome/types/index.d.ts +19 -0
  82. package/dist/components/welcome/welcome.vue.d.ts +28 -0
  83. package/dist/components.js +3 -0
  84. package/dist/components.js.map +1 -0
  85. package/dist/composables/index.d.ts +2 -0
  86. package/dist/composables/useCollapsible.d.ts +4 -0
  87. package/dist/composables/useUIAdapter.d.ts +14 -0
  88. package/dist/index.d.ts +7 -0
  89. package/dist/index.js +30 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/provider/ChatProvider.vue.d.ts +14 -0
  92. package/dist/provider/index.d.ts +4 -0
  93. package/dist/types/adapter.d.ts +64 -0
  94. package/dist/types/index.d.ts +5 -0
  95. package/dist/types/message.d.ts +5 -0
  96. package/dist/types/parts.d.ts +5 -0
  97. 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,4 @@
1
+ /**
2
+ * Provider 导出
3
+ */
4
+ export { default as ChatProvider } from './ChatProvider.vue';
@@ -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
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 类型导出入口
3
+ */
4
+ export * from './message';
5
+ export * from './parts';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Message 类型定义
3
+ * 从 @incremark/chat-core 重新导出
4
+ */
5
+ export type { ChatMessage, MessageRole, MessageStatus, createTextMessage, createStreamingMessage } from '@incremark/chat-core';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Message Part 类型定义
3
+ * 从 @incremark/chat-core 重新导出
4
+ */
5
+ export type { MessagePart, TextPart, ToolCallPart, UIPart, ReasoningPart, isTextPart, isToolCallPart, isUIPart, isReasoningPart } from '@incremark/chat-core';
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
+ }