@blueking/chat-x 0.0.45-beta.5 → 0.0.45-beta.6

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 (135) hide show
  1. package/README.md +1 -1
  2. package/dist/ag-ui/types/constants.d.ts +0 -16
  3. package/dist/ag-ui/types/contents.d.ts +0 -2
  4. package/dist/ag-ui/types/index.d.ts +0 -2
  5. package/dist/ag-ui/types/messages.d.ts +0 -2
  6. package/dist/components/chat-content/flow-agent-content/flow-agent-content.vue.d.ts +0 -3
  7. package/dist/components/chat-content/flow-agent-content/use-flow-agent.d.ts +0 -4
  8. package/dist/components/chat-input/chat-input.vue.d.ts +8 -14
  9. package/dist/components/chat-input/input-attachment/input-attachment.vue.d.ts +0 -1
  10. package/dist/components/chat-message/activity-message/activity-message.vue.d.ts +1 -4
  11. package/dist/components/chat-message/assistant-message/assistant-message.vue.d.ts +1 -1
  12. package/dist/components/chat-message/message-container/message-container.vue.d.ts +7 -14
  13. package/dist/components/chat-message/message-render/message-render.vue.d.ts +0 -4
  14. package/dist/components/index.d.ts +2 -3
  15. package/dist/composables/use-global-config.d.ts +0 -3
  16. package/dist/composables/use-message-group.d.ts +823 -2609
  17. package/dist/icons/index.d.ts +0 -1
  18. package/dist/index.css +1 -1
  19. package/dist/index.js +1935 -2552
  20. package/dist/index.js.map +1 -1
  21. package/dist/lang/lang.d.ts +2 -34
  22. package/dist/mcp/generated/docs/activity-message.md +7 -21
  23. package/dist/mcp/generated/docs/ai-image.md +4 -9
  24. package/dist/mcp/generated/docs/ai-loading.md +6 -11
  25. package/dist/mcp/generated/docs/ai-selection.md +5 -10
  26. package/dist/mcp/generated/docs/animation-text.md +4 -9
  27. package/dist/mcp/generated/docs/assistant-message.md +5 -10
  28. package/dist/mcp/generated/docs/chat-container.md +19 -173
  29. package/dist/mcp/generated/docs/chat-input.md +10 -78
  30. package/dist/mcp/generated/docs/cite-content.md +3 -8
  31. package/dist/mcp/generated/docs/code-content.md +4 -9
  32. package/dist/mcp/generated/docs/common-error-content.md +5 -10
  33. package/dist/mcp/generated/docs/constants.md +3 -68
  34. package/dist/mcp/generated/docs/content-render.md +5 -10
  35. package/dist/mcp/generated/docs/delete-tool.md +4 -9
  36. package/dist/mcp/generated/docs/desc-panel.md +4 -9
  37. package/dist/mcp/generated/docs/execution-summary.md +5 -10
  38. package/dist/mcp/generated/docs/file-content.md +4 -9
  39. package/dist/mcp/generated/docs/file-upload-btn.md +5 -10
  40. package/dist/mcp/generated/docs/highlight-keyword.md +5 -10
  41. package/dist/mcp/generated/docs/image-content.md +4 -9
  42. package/dist/mcp/generated/docs/image-preview-group.md +4 -9
  43. package/dist/mcp/generated/docs/image-preview.md +5 -10
  44. package/dist/mcp/generated/docs/info-message.md +2 -7
  45. package/dist/mcp/generated/docs/key-value-content.md +4 -9
  46. package/dist/mcp/generated/docs/latex-content.md +4 -9
  47. package/dist/mcp/generated/docs/loading-message.md +6 -11
  48. package/dist/mcp/generated/docs/markdown-container.md +1 -1
  49. package/dist/mcp/generated/docs/markdown-content.md +8 -13
  50. package/dist/mcp/generated/docs/markdown-latex.md +3 -3
  51. package/dist/mcp/generated/docs/markdown-mermaid.md +3 -3
  52. package/dist/mcp/generated/docs/mermaid-content.md +4 -9
  53. package/dist/mcp/generated/docs/message-container.md +11 -69
  54. package/dist/mcp/generated/docs/message-render.md +11 -23
  55. package/dist/mcp/generated/docs/message-tools.md +5 -10
  56. package/dist/mcp/generated/docs/messages.md +11 -75
  57. package/dist/mcp/generated/docs/overflow-tips.md +4 -4
  58. package/dist/mcp/generated/docs/reasoning-message.md +5 -10
  59. package/dist/mcp/generated/docs/reference-content.md +5 -10
  60. package/dist/mcp/generated/docs/scroll-btn.md +3 -8
  61. package/dist/mcp/generated/docs/selection-footer.md +4 -9
  62. package/dist/mcp/generated/docs/shortcut-btn.md +5 -10
  63. package/dist/mcp/generated/docs/shortcut-btns.md +5 -10
  64. package/dist/mcp/generated/docs/shortcut-render.md +5 -10
  65. package/dist/mcp/generated/docs/text-content.md +4 -9
  66. package/dist/mcp/generated/docs/theme.md +4 -50
  67. package/dist/mcp/generated/docs/tool-btn.md +4 -9
  68. package/dist/mcp/generated/docs/tool-message.md +5 -10
  69. package/dist/mcp/generated/docs/toolcall-render.md +5 -10
  70. package/dist/mcp/generated/docs/use-animation-text.md +4 -4
  71. package/dist/mcp/generated/docs/use-clipboard.md +3 -3
  72. package/dist/mcp/generated/docs/use-command-selection.md +1 -1
  73. package/dist/mcp/generated/docs/use-custom-tab.md +1 -1
  74. package/dist/mcp/generated/docs/use-full-screen.md +3 -3
  75. package/dist/mcp/generated/docs/use-global-config.md +5 -20
  76. package/dist/mcp/generated/docs/use-menu-keydown.md +1 -1
  77. package/dist/mcp/generated/docs/use-message-group.md +9 -40
  78. package/dist/mcp/generated/docs/use-observer-visible-list.md +1 -1
  79. package/dist/mcp/generated/docs/user-feedback.md +3 -8
  80. package/dist/mcp/generated/docs/user-message.md +5 -10
  81. package/dist/mcp/generated/index.json +560 -1103
  82. package/dist/mcp/index.js +0 -0
  83. package/dist/mcp/server.js +1 -1
  84. package/dist/mcp/server.js.map +1 -1
  85. package/dist/mcp/tools/list-components.d.ts +6 -7
  86. package/dist/mcp/tools/list-components.js +29 -23
  87. package/dist/mcp/tools/list-components.js.map +1 -1
  88. package/dist/mcp/tools/search-docs.js +1 -1
  89. package/dist/mcp/tools/search-docs.js.map +1 -1
  90. package/dist/mcp/utils/doc-loader.d.ts +1 -1
  91. package/package.json +21 -23
  92. package/dist/ag-ui/types/interrupt.d.ts +0 -137
  93. package/dist/ag-ui/types/schema.d.ts +0 -42
  94. package/dist/components/ai-questions/questions-container.vue.d.ts +0 -3
  95. package/dist/components/ai-questions/selection-question.vue.d.ts +0 -3
  96. package/dist/components/chat-content/flow-agent-content/use-flow-node-actions.d.ts +0 -32
  97. package/dist/components/chat-content/index.d.ts +0 -2
  98. package/dist/components/chat-input/input-info-alert.vue.d.ts +0 -6
  99. package/dist/components/chat-message/interrupt-message/index.d.ts +0 -2
  100. package/dist/components/chat-message/interrupt-message/interrupt-message.vue.d.ts +0 -17
  101. package/dist/components/chat-message/interrupt-message/tool-approval-card.vue.d.ts +0 -8
  102. package/dist/components/chat-message/interrupt-message/user-question/index.d.ts +0 -5
  103. package/dist/components/chat-message/interrupt-message/user-question/use-user-question.d.ts +0 -35
  104. package/dist/components/chat-message/interrupt-message/user-question/user-question-answered-card.vue.d.ts +0 -25
  105. package/dist/components/chat-message/interrupt-message/user-question/user-question-card.vue.d.ts +0 -25
  106. package/dist/components/chat-message/interrupt-message/user-question/user-question-choice.vue.d.ts +0 -13
  107. package/dist/components/chat-message/interrupt-message/user-question/user-question-option.vue.d.ts +0 -17
  108. package/dist/icons/interrupt.d.ts +0 -24
  109. package/dist/mcp/generated/docs/activity-layout.md +0 -138
  110. package/dist/mcp/generated/docs/ai-prompt-list.md +0 -42
  111. package/dist/mcp/generated/docs/ai-slash-editor.md +0 -43
  112. package/dist/mcp/generated/docs/ai-slash-input.md +0 -43
  113. package/dist/mcp/generated/docs/ai-slash-menu.md +0 -42
  114. package/dist/mcp/generated/docs/detail-section.md +0 -93
  115. package/dist/mcp/generated/docs/flow-agent-content.md +0 -252
  116. package/dist/mcp/generated/docs/flow-agent-node-detail.md +0 -240
  117. package/dist/mcp/generated/docs/input-attachment.md +0 -43
  118. package/dist/mcp/generated/docs/input-info-alert.md +0 -42
  119. package/dist/mcp/generated/docs/interrupt-message.md +0 -204
  120. package/dist/mcp/generated/docs/interrupt.md +0 -354
  121. package/dist/mcp/generated/docs/knowledge-rag-content.md +0 -126
  122. package/dist/mcp/generated/docs/message-loading.md +0 -120
  123. package/dist/mcp/generated/docs/preview-toolbar.md +0 -42
  124. package/dist/mcp/generated/docs/questions-container.md +0 -88
  125. package/dist/mcp/generated/docs/reference-doc-content.md +0 -112
  126. package/dist/mcp/generated/docs/schema.md +0 -93
  127. package/dist/mcp/generated/docs/selection-question.md +0 -91
  128. package/dist/mcp/generated/docs/simple-table.md +0 -103
  129. package/dist/mcp/generated/docs/tool-approval-card.md +0 -148
  130. package/dist/mcp/generated/docs/use-flow-node-actions.md +0 -124
  131. package/dist/mcp/generated/docs/user-question-answered-card.md +0 -106
  132. package/dist/mcp/generated/docs/user-question-card.md +0 -228
  133. package/dist/mcp/generated/docs/user-question-choice.md +0 -108
  134. package/dist/mcp/generated/docs/user-question-option.md +0 -42
  135. package/dist/mcp/generated/docs/vnode-renderer.md +0 -126
@@ -1,108 +0,0 @@
1
- <!-- AI SUMMARY -->
2
- ## 快速了解
3
-
4
- UserQuestionCard 默认的选择题渲染组件,封装单选/多选、Others 输入与答案组装。 源码位置:src/components/chat-message/interrupt-message/user-question/user-question-choice.vue。
5
-
6
- ### 关联组件
7
- - **user-question-card** — 默认通过
8
- - **user-question-option** — 内部逐条渲染选项行
9
- - **interrupt** — 答案结构遵循 UserQuestionAnswerItem
10
-
11
- ---
12
- <!-- FULL DOC -->
13
-
14
- # UserQuestionChoice 用户问题选择题
15
-
16
- > **能力域**:Agent 能力
17
-
18
- ## 源码事实
19
-
20
- - **源码位置**:`src/components/chat-message/interrupt-message/user-question/user-question-choice.vue`
21
- - **能力说明**:封装 UserQuestion 的选择题交互,负责选项归一化、单选/多选切换、Others 输入校验与 `UserQuestionAnswerItem` 组装。
22
-
23
- `UserQuestionChoice` 是 [UserQuestionCard](/components/agent/user-question-card) 在 `#question` slot 未覆盖时的**默认渲染**。业务侧也可单独使用,配合 `useUserQuestion` 的 `setAnswer` 接入自定义面板。
24
-
25
- ## 交互能力
26
-
27
- - **单选 / 多选**:由 `question.multiSelect` 控制;未传时不展示单选/多选标签,但仍按单选行为处理。
28
- - **Others 自由输入**:前端自动在选项末尾追加 `label: 'others'` 输入项。
29
- - **实时同步答案**:选择或输入变化时 emit `answer`;作答有效时回传已组装的 `UserQuestionAnswerItem`,无效时回传 `undefined`。
30
- - **Enter 确认**:Others 输入框按 Enter 触发 `confirm`,等价于点击「完成」按钮(需上层已全部作答)。
31
-
32
- ## 基础用法(单选)
33
-
34
- ```vue
35
- <template>
36
- <UserQuestionChoice
37
- :question="singleQuestion"
38
- @answer="handleAnswer"
39
- @confirm="handleConfirm"
40
- />
41
- </template>
42
-
43
- <script setup lang="ts">
44
- import { UserQuestionChoice, type UserQuestionAnswerItem } from '@blueking/chat-x';
45
-
46
- const singleQuestion = {
47
- header: '请选择实现方案',
48
- multiSelect: false,
49
- question: '你希望采用哪种冒泡排序实现?',
50
- options: [
51
- { label: 'basic', description: '基础冒泡排序' },
52
- { label: 'optimized', description: '优化版冒泡排序' },
53
- ],
54
- };
55
-
56
- const handleAnswer = (answer: UserQuestionAnswerItem | undefined) => {
57
- console.log(answer);
58
- };
59
- </script>
60
- ```
61
-
62
- **渲染效果**
63
-
64
- ## 多选
65
-
66
- ```vue
67
- <UserQuestionChoice
68
- :question="multiQuestion"
69
- @answer="handleAnswer"
70
- />
71
- ```
72
-
73
- **渲染效果**
74
-
75
- ## 在 UserQuestionCard 中使用
76
-
77
- 通常无需直接使用本组件;`UserQuestionCard` 默认已在 `#question` slot 回退中挂载:
78
-
79
- ```vue
80
- <UserQuestionCard :interrupt="interrupt" :on-resume="handleResume" />
81
- ```
82
-
83
- 如需替换某一题的渲染,覆盖 `#question` slot 即可;未覆盖时仍回退到 `UserQuestionChoice`。
84
-
85
- ## API
86
-
87
- ### Props
88
-
89
- | 属性名 | 类型 | 默认值 | 说明 |
90
- | -------- | ------------------ | ------ | ---------------------------- |
91
- | question | `UserQuestionItem` | — | **必填**,含 `options` 等字段 |
92
-
93
- ### Events
94
-
95
- | 事件名 | 参数 | 说明 |
96
- | ------- | ----------------------------------------- | ------------------------------------------------------------ |
97
- | answer | `(answer: UserQuestionAnswerItem \| undefined)` | 作答变化;有效时回传已组装答案,无效(未选/ Others 空)时 `undefined` |
98
- | confirm | — | 用户在 Others 输入框按 Enter 时触发,上层可绑定「完成」逻辑 |
99
-
100
- ### Slots / Expose
101
-
102
- 无。
103
-
104
- ## 关联文档
105
-
106
- - [UserQuestionCard 用户问题中断](/components/agent/user-question-card)
107
- - [UserQuestionOption 用户问题选项](/components/agent/user-question-option)
108
- - [中断类型 Interrupt](../../types/interrupt.md)
@@ -1,42 +0,0 @@
1
- <!-- AI SUMMARY -->
2
- ## 快速了解
3
-
4
- UserQuestionChoice 内部选项行,处理单选/多选状态和 Others 输入。 源码位置:src/components/chat-message/interrupt-message/user-question/user-question-option.vue。
5
-
6
- ---
7
- <!-- FULL DOC -->
8
-
9
- # UserQuestionOption 用户问题选项
10
-
11
- > **能力域**:Agent 能力
12
-
13
- ## 源码事实
14
-
15
- - **源码位置**:`src/components/chat-message/interrupt-message/user-question/user-question-option.vue`
16
- - **能力说明**:UserQuestionChoice 内部选项行,处理单选/多选状态和 Others 输入。
17
-
18
- ## API 摘要
19
-
20
- ### Props
21
-
22
- - `{ option: NormalizedUserQuestionOption; othersText?: string; selected: boolean; }`
23
-
24
- ### Emits
25
-
26
- - `{ (e: 'confirm'): void; (e: 'select'): void; (e: 'update:othersText', value: string): void; }`
27
-
28
- ### Slots
29
-
30
- - 无。
31
-
32
- ### Expose
33
-
34
- - 无。
35
-
36
- ## 组件依赖
37
-
38
- - 无组件依赖或仅依赖基础库。
39
-
40
- ## 使用建议
41
-
42
- - 优先通过 [UserQuestionChoice](/components/agent/user-question-choice) 或 [UserQuestionCard](/components/agent/user-question-card) 使用;直接使用前请确认 props 数据结构来自对应类型定义。
@@ -1,126 +0,0 @@
1
- <!-- AI SUMMARY -->
2
- ## 快速了解
3
-
4
- 将 Markdown token 转成 VNode 的内部渲染桥。 源码位置:src/components/chat-content/vnode-renderer.ts。
5
-
6
- ### 关联组件
7
- - **markdown-content** — MarkdownContent 对普通 token 分组使用本组件渲染
8
- - **code-content** — fence/code_block 代码块通常会被 MarkdownContent 提前分流到 CodeContent
9
- - **mermaid-content** — mermaid 代码块通常会被 MarkdownContent 提前分流到 MermaidContent
10
- - **image-content** — 图片 token 由 tokensToVNodes 转为 ImageContent
11
-
12
- ---
13
- <!-- FULL DOC -->
14
-
15
- # VNodeRenderer VNode 渲染器
16
-
17
- > **能力域**:辅助能力
18
-
19
- `VNodeRenderer` 是 Markdown 渲染链路里的内部桥接组件。它接收 markdown-it 解析出的 `Token[]`,调用 `tokensToVNodes` 转成 Vue VNode,并返回渲染函数结果。
20
-
21
- 通常不需要业务侧直接使用。完整 Markdown 内容请优先使用 [MarkdownContent](../rendering/markdown-content.md),它会先识别 Mermaid、LaTeX、代码块等特殊 token,再把普通 token 分组交给 `VNodeRenderer`。
22
-
23
- ## 源码事实
24
-
25
- - **源码位置**:`src/components/chat-content/vnode-renderer.ts`
26
- - **能力说明**:将 Markdown token 转成 VNode 的内部渲染桥。
27
-
28
- ## 核心能力
29
-
30
- - **Token 到 VNode**:将 markdown-it 的 block、inline、text、link、image、html 等 token 转为 Vue VNode
31
- - **稳定 key**:`tokensToVNodes` 基于 token 类型、标签和内容 hash 生成 key,降低流式渲染时 DOM 误复用风险
32
- - **HTML 安全入口**:`options.html` 开启时可渲染 HTML token,实际安全过滤依赖 `options.sanitize`
33
- - **渲染规则复用**:支持传入 markdown-it `renderer` 与 `mditOptions`,复用自定义 renderer rule
34
- - **特殊 token 兜底**:图片 token 转成 `ImageContent`,链接自动补充 `target="_blank"` 与 `rel="noopener noreferrer"`
35
-
36
- ## 基础用法
37
-
38
- ```vue
39
- <template>
40
- <VNodeRenderer :tokens="tokens" />
41
- </template>
42
-
43
- <script setup lang="ts">
44
- import MarkdownIt from '@blueking/chat-x/src/markdown-it/index';
45
- import VNodeRenderer from '@blueking/chat-x/src/components/chat-content/vnode-renderer';
46
-
47
- const md = new MarkdownIt();
48
- const tokens = md.parse('这是一段 **加粗文本**。', {});
49
- </script>
50
- ```
51
-
52
- **渲染效果**
53
-
54
- ## 空 Tokens
55
-
56
- `tokens` 为空数组时,`tokensToVNodes` 返回空数组,不渲染任何内容。
57
-
58
- ## 与 MarkdownContent 的关系
59
-
60
- `MarkdownContent` 会先按 token 类型分流,再将普通 token 交给 `VNodeRenderer`:
61
-
62
- ```vue
63
- <template v-else>
64
- <VNodeRenderer
65
- :options="vnodeOptions"
66
- :tokens="groupedToken"
67
- />
68
- </template>
69
- ```
70
-
71
- 其中 `vnodeOptions` 会携带 HTML 净化函数、markdown-it renderer 和 parser options:
72
-
73
- ```typescript
74
- const vnodeOptions = {
75
- html: true,
76
- mditOptions: md.options,
77
- renderer: md.renderer,
78
- sanitize: (html: string) => dompurify.sanitize(html, domPurifyConfig),
79
- };
80
- ```
81
-
82
- ## API
83
-
84
- ### Props
85
-
86
- | 属性名 | 类型 | 必填 | 默认值 | 说明 |
87
- | ------- | --------------------- | ---- | ------ | ---------------------------- |
88
- | tokens | `Token[]` | 是 | — | markdown-it token 数组 |
89
- | options | `TokenToVNodeOptions` | 否 | `{}` | token 转 VNode 的渲染选项 |
90
-
91
- ### Emits
92
-
93
- - 无。
94
-
95
- ### Slots
96
-
97
- - 无。
98
-
99
- ### Expose
100
-
101
- - 无。
102
-
103
- ## 类型定义
104
-
105
- ```typescript
106
- export interface TokenToVNodeOptions {
107
- highlight?: ((str: string, lang: string, attrs?: unknown) => string) | null;
108
- html?: boolean;
109
- mditOptions?: Options;
110
- renderer?: Renderer;
111
- sanitize?: (html: string) => string;
112
- }
113
- ```
114
-
115
- ## 使用建议
116
-
117
- - 业务侧不要绕过 `MarkdownContent` 直接渲染完整 Markdown 字符串;`VNodeRenderer` 只接收已经解析好的 token。
118
- - 如果启用 `options.html`,必须同步传入 `sanitize`,否则 HTML token 会直接进入 `innerHTML`。
119
- - 特殊内容如代码块、Mermaid、LaTeX 推荐继续走 `MarkdownContent` 的分流逻辑。
120
-
121
- ## 关联组件
122
-
123
- - [MarkdownContent](../rendering/markdown-content.md) — Markdown 主渲染器。
124
- - [CodeContent](../rendering/code-content.md) — 代码块渲染。
125
- - [MermaidContent](../rendering/mermaid-content.md) — Mermaid 图表渲染。
126
- - [ImageContent](../medias/image-content.md) — 图片 token 渲染。