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

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 (138) 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/ai-slash-input/command.d.ts +2 -1
  9. package/dist/components/chat-input/ai-slash-input/constants.d.ts +4 -0
  10. package/dist/components/chat-input/chat-input.vue.d.ts +8 -14
  11. package/dist/components/chat-input/input-attachment/input-attachment.vue.d.ts +0 -1
  12. package/dist/components/chat-message/activity-message/activity-message.vue.d.ts +1 -4
  13. package/dist/components/chat-message/assistant-message/assistant-message.vue.d.ts +1 -1
  14. package/dist/components/chat-message/message-container/message-container.vue.d.ts +7 -14
  15. package/dist/components/chat-message/message-render/message-render.vue.d.ts +0 -4
  16. package/dist/components/index.d.ts +2 -3
  17. package/dist/composables/use-global-config.d.ts +0 -3
  18. package/dist/composables/use-message-group.d.ts +823 -2609
  19. package/dist/icons/index.d.ts +0 -1
  20. package/dist/index.css +1 -1
  21. package/dist/index.js +1935 -2537
  22. package/dist/index.js.map +1 -1
  23. package/dist/lang/lang.d.ts +2 -34
  24. package/dist/mcp/generated/docs/activity-message.md +7 -21
  25. package/dist/mcp/generated/docs/ai-image.md +4 -9
  26. package/dist/mcp/generated/docs/ai-loading.md +6 -11
  27. package/dist/mcp/generated/docs/ai-selection.md +5 -10
  28. package/dist/mcp/generated/docs/animation-text.md +4 -9
  29. package/dist/mcp/generated/docs/assistant-message.md +5 -10
  30. package/dist/mcp/generated/docs/chat-container.md +19 -173
  31. package/dist/mcp/generated/docs/chat-input.md +10 -78
  32. package/dist/mcp/generated/docs/cite-content.md +3 -8
  33. package/dist/mcp/generated/docs/code-content.md +4 -9
  34. package/dist/mcp/generated/docs/common-error-content.md +5 -10
  35. package/dist/mcp/generated/docs/constants.md +3 -68
  36. package/dist/mcp/generated/docs/content-render.md +5 -10
  37. package/dist/mcp/generated/docs/delete-tool.md +4 -9
  38. package/dist/mcp/generated/docs/desc-panel.md +4 -9
  39. package/dist/mcp/generated/docs/execution-summary.md +5 -10
  40. package/dist/mcp/generated/docs/file-content.md +4 -9
  41. package/dist/mcp/generated/docs/file-upload-btn.md +5 -10
  42. package/dist/mcp/generated/docs/highlight-keyword.md +5 -10
  43. package/dist/mcp/generated/docs/image-content.md +4 -9
  44. package/dist/mcp/generated/docs/image-preview-group.md +4 -9
  45. package/dist/mcp/generated/docs/image-preview.md +5 -10
  46. package/dist/mcp/generated/docs/info-message.md +2 -7
  47. package/dist/mcp/generated/docs/key-value-content.md +4 -9
  48. package/dist/mcp/generated/docs/latex-content.md +4 -9
  49. package/dist/mcp/generated/docs/loading-message.md +6 -11
  50. package/dist/mcp/generated/docs/markdown-container.md +1 -1
  51. package/dist/mcp/generated/docs/markdown-content.md +8 -13
  52. package/dist/mcp/generated/docs/markdown-latex.md +3 -3
  53. package/dist/mcp/generated/docs/markdown-mermaid.md +3 -3
  54. package/dist/mcp/generated/docs/mermaid-content.md +4 -9
  55. package/dist/mcp/generated/docs/message-container.md +11 -69
  56. package/dist/mcp/generated/docs/message-render.md +11 -23
  57. package/dist/mcp/generated/docs/message-tools.md +5 -10
  58. package/dist/mcp/generated/docs/messages.md +11 -75
  59. package/dist/mcp/generated/docs/overflow-tips.md +4 -4
  60. package/dist/mcp/generated/docs/reasoning-message.md +5 -10
  61. package/dist/mcp/generated/docs/reference-content.md +5 -10
  62. package/dist/mcp/generated/docs/scroll-btn.md +3 -8
  63. package/dist/mcp/generated/docs/selection-footer.md +4 -9
  64. package/dist/mcp/generated/docs/shortcut-btn.md +5 -10
  65. package/dist/mcp/generated/docs/shortcut-btns.md +5 -10
  66. package/dist/mcp/generated/docs/shortcut-render.md +5 -10
  67. package/dist/mcp/generated/docs/text-content.md +4 -9
  68. package/dist/mcp/generated/docs/theme.md +4 -50
  69. package/dist/mcp/generated/docs/tool-btn.md +4 -9
  70. package/dist/mcp/generated/docs/tool-message.md +5 -10
  71. package/dist/mcp/generated/docs/toolcall-render.md +5 -10
  72. package/dist/mcp/generated/docs/use-animation-text.md +4 -4
  73. package/dist/mcp/generated/docs/use-clipboard.md +3 -3
  74. package/dist/mcp/generated/docs/use-command-selection.md +1 -1
  75. package/dist/mcp/generated/docs/use-custom-tab.md +1 -1
  76. package/dist/mcp/generated/docs/use-full-screen.md +3 -3
  77. package/dist/mcp/generated/docs/use-global-config.md +5 -20
  78. package/dist/mcp/generated/docs/use-menu-keydown.md +1 -1
  79. package/dist/mcp/generated/docs/use-message-group.md +9 -40
  80. package/dist/mcp/generated/docs/use-observer-visible-list.md +1 -1
  81. package/dist/mcp/generated/docs/user-feedback.md +3 -8
  82. package/dist/mcp/generated/docs/user-message.md +13 -18
  83. package/dist/mcp/generated/index.json +560 -1103
  84. package/dist/mcp/index.js +0 -0
  85. package/dist/mcp/server.js +1 -1
  86. package/dist/mcp/server.js.map +1 -1
  87. package/dist/mcp/tools/list-components.d.ts +6 -7
  88. package/dist/mcp/tools/list-components.js +29 -23
  89. package/dist/mcp/tools/list-components.js.map +1 -1
  90. package/dist/mcp/tools/search-docs.js +1 -1
  91. package/dist/mcp/tools/search-docs.js.map +1 -1
  92. package/dist/mcp/utils/doc-loader.d.ts +1 -1
  93. package/dist/types/editor.d.ts +1 -0
  94. package/package.json +21 -23
  95. package/dist/ag-ui/types/interrupt.d.ts +0 -137
  96. package/dist/ag-ui/types/schema.d.ts +0 -42
  97. package/dist/components/ai-questions/questions-container.vue.d.ts +0 -3
  98. package/dist/components/ai-questions/selection-question.vue.d.ts +0 -3
  99. package/dist/components/chat-content/flow-agent-content/use-flow-node-actions.d.ts +0 -32
  100. package/dist/components/chat-content/index.d.ts +0 -2
  101. package/dist/components/chat-input/input-info-alert.vue.d.ts +0 -6
  102. package/dist/components/chat-message/interrupt-message/index.d.ts +0 -2
  103. package/dist/components/chat-message/interrupt-message/interrupt-message.vue.d.ts +0 -17
  104. package/dist/components/chat-message/interrupt-message/tool-approval-card.vue.d.ts +0 -8
  105. package/dist/components/chat-message/interrupt-message/user-question/index.d.ts +0 -5
  106. package/dist/components/chat-message/interrupt-message/user-question/use-user-question.d.ts +0 -35
  107. package/dist/components/chat-message/interrupt-message/user-question/user-question-answered-card.vue.d.ts +0 -25
  108. package/dist/components/chat-message/interrupt-message/user-question/user-question-card.vue.d.ts +0 -25
  109. package/dist/components/chat-message/interrupt-message/user-question/user-question-choice.vue.d.ts +0 -13
  110. package/dist/components/chat-message/interrupt-message/user-question/user-question-option.vue.d.ts +0 -17
  111. package/dist/icons/interrupt.d.ts +0 -24
  112. package/dist/mcp/generated/docs/activity-layout.md +0 -138
  113. package/dist/mcp/generated/docs/ai-prompt-list.md +0 -42
  114. package/dist/mcp/generated/docs/ai-slash-editor.md +0 -43
  115. package/dist/mcp/generated/docs/ai-slash-input.md +0 -43
  116. package/dist/mcp/generated/docs/ai-slash-menu.md +0 -42
  117. package/dist/mcp/generated/docs/detail-section.md +0 -93
  118. package/dist/mcp/generated/docs/flow-agent-content.md +0 -252
  119. package/dist/mcp/generated/docs/flow-agent-node-detail.md +0 -240
  120. package/dist/mcp/generated/docs/input-attachment.md +0 -43
  121. package/dist/mcp/generated/docs/input-info-alert.md +0 -42
  122. package/dist/mcp/generated/docs/interrupt-message.md +0 -204
  123. package/dist/mcp/generated/docs/interrupt.md +0 -354
  124. package/dist/mcp/generated/docs/knowledge-rag-content.md +0 -126
  125. package/dist/mcp/generated/docs/message-loading.md +0 -120
  126. package/dist/mcp/generated/docs/preview-toolbar.md +0 -42
  127. package/dist/mcp/generated/docs/questions-container.md +0 -88
  128. package/dist/mcp/generated/docs/reference-doc-content.md +0 -112
  129. package/dist/mcp/generated/docs/schema.md +0 -93
  130. package/dist/mcp/generated/docs/selection-question.md +0 -91
  131. package/dist/mcp/generated/docs/simple-table.md +0 -103
  132. package/dist/mcp/generated/docs/tool-approval-card.md +0 -148
  133. package/dist/mcp/generated/docs/use-flow-node-actions.md +0 -124
  134. package/dist/mcp/generated/docs/user-question-answered-card.md +0 -106
  135. package/dist/mcp/generated/docs/user-question-card.md +0 -228
  136. package/dist/mcp/generated/docs/user-question-choice.md +0 -108
  137. package/dist/mcp/generated/docs/user-question-option.md +0 -42
  138. package/dist/mcp/generated/docs/vnode-renderer.md +0 -126
@@ -1,120 +0,0 @@
1
- <!-- AI SUMMARY -->
2
- ## 快速了解
3
-
4
- 带品牌图标和逐字渐变动画的加载组件。 源码位置:src/components/message-loading/message-loading.vue。
5
-
6
- ### 关联组件
7
- - **loading-message** — 消息列表加载占位可选择使用品牌加载动效
8
- - **ai-loading** — 更轻量的三点加载动画
9
-
10
- ---
11
- <!-- FULL DOC -->
12
-
13
- # MessageLoading 品牌加载
14
-
15
- > **能力域**:辅助能力
16
-
17
- `MessageLoading` 是带蓝鲸品牌图标和逐字渐变动画的加载组件,用于展示 AI 正在思考、生成或执行任务的等待状态。组件默认显示品牌图标和“加载中...”文案,也支持通过插槽替换图标或文本。
18
-
19
- 与 [AiLoading](./ai-loading.md) 相比,它更偏品牌化、文案化;适合较明显的等待区域,不适合嵌入很紧凑的按钮或状态点。
20
-
21
- ## 源码事实
22
-
23
- - **源码位置**:`src/components/message-loading/message-loading.vue`
24
- - **能力说明**:带品牌图标和逐字渐变动画的加载组件。
25
-
26
- ## 核心能力
27
-
28
- - **品牌图标动画**:默认使用 `AIBluekingIcon`,图标随 `duration` 做透明度和滤镜动画
29
- - **逐字渐变文本**:未传 `#text` 插槽时,将 `text` 拆成字符逐个渲染,并按 `stagger` 延迟播放
30
- - **可调尺寸和节奏**:通过 `iconSize`、`gap`、`duration`、`stagger` 控制图标尺寸、间距和动画速度
31
- - **插槽覆盖**:`#icon` 可替换图标,`#text` 可替换整段文本渲染
32
- - **无障碍降级**:遵循 `prefers-reduced-motion: reduce`,减少动画效果
33
-
34
- ## 基础用法
35
-
36
- ```vue
37
- <template>
38
- <MessageLoading />
39
- </template>
40
-
41
- <script setup lang="ts">
42
- import { MessageLoading } from '@blueking/chat-x';
43
- </script>
44
- ```
45
-
46
- **渲染效果**
47
-
48
- ## 自定义文案和尺寸
49
-
50
- ```vue
51
- <template>
52
- <MessageLoading
53
- text="正在思考中..."
54
- :icon-size="28"
55
- :gap="10"
56
- :duration="2"
57
- :stagger="0.12"
58
- />
59
- </template>
60
- ```
61
-
62
- ## 自定义插槽
63
-
64
- 传入 `#text` 后,组件不再按字符拆分 `text` prop,而是直接渲染插槽内容;传入 `#icon` 可替换默认品牌图标。
65
-
66
- ```vue
67
- <template>
68
- <MessageLoading>
69
- <template #icon>
70
- <span class="custom-icon">AI</span>
71
- </template>
72
- <template #text>
73
- 正在生成巡检结论
74
- </template>
75
- </MessageLoading>
76
- </template>
77
- ```
78
-
79
- ## API
80
-
81
- ### Props
82
-
83
- | 属性名 | 类型 | 必填 | 默认值 | 说明 |
84
- | -------- | -------- | ---- | ----------- | ---------------------------------- |
85
- | text | `string` | 否 | `'加载中...'` | 逐字动画文案;使用 `#text` 时可不传 |
86
- | iconSize | `number` | 否 | `32` | 默认图标边长,单位 px |
87
- | gap | `number` | 否 | `8` | 图标与文字间距,单位 px |
88
- | duration | `number` | 否 | `1.8` | 单次动画循环时长,单位秒 |
89
- | stagger | `number` | 否 | `0.135` | 相邻字符动画延迟,单位秒 |
90
-
91
- ### Emits
92
-
93
- - 无。
94
-
95
- ### Slots
96
-
97
- | 插槽名 | 说明 |
98
- | ------ | ------------------------ |
99
- | icon | 自定义图标区域 |
100
- | text | 自定义文本区域,覆盖逐字渲染 |
101
-
102
- ### Expose
103
-
104
- - 无。
105
-
106
- ## 样式与 attrs
107
-
108
- - 组件设置 `inheritAttrs: false`,会将外部 `class` 合并到根节点,并将除 `class` / `style` 外的 attrs 透传到根节点。
109
- - 外部对象形式的 `style` 会与 CSS 变量合并;字符串形式 `style` 不会参与合并。
110
- - 根节点使用 CSS 变量控制动画:`--ai-message-loading-duration`、`--ai-message-loading-stagger`、`--ai-message-loading-gap`。
111
-
112
- ## 使用建议
113
-
114
- - 页面级或消息级等待态优先使用 `MessageLoading`;紧凑状态点优先使用 [AiLoading](./ai-loading.md)。
115
- - 需要自定义文本样式时优先使用 `#text` 插槽,避免只依赖全局覆盖内部 class。
116
-
117
- ## 关联组件
118
-
119
- - [LoadingMessage](../message/loading-message.md) — 消息列表中的加载占位。
120
- - [AiLoading](./ai-loading.md) — 三点加载动画。
@@ -1,42 +0,0 @@
1
- <!-- AI SUMMARY -->
2
- ## 快速了解
3
-
4
- 图片预览的缩放、旋转、下载等工具按钮。 源码位置:src/components/image-preview/preview-toolbar.vue。
5
-
6
- ---
7
- <!-- FULL DOC -->
8
-
9
- # PreviewToolbar 图片预览工具栏
10
-
11
- > **能力域**:媒体文件
12
-
13
- ## 源码事实
14
-
15
- - **源码位置**:`src/components/image-preview/preview-toolbar.vue`
16
- - **能力说明**:图片预览的缩放、旋转、下载等工具按钮。
17
-
18
- ## API 摘要
19
-
20
- ### Props
21
-
22
- - `{ activeIndex: number; currentImageInfo?: null | { resolution?: string; width?: number }; isMultiple: boolean; showInfo: boolean; total: number; }`
23
-
24
- ### Emits
25
-
26
- - `{ (e: 'zoomIn'): void; (e: 'zoomOut'): void; (e: 'rotate'): void; (e: 'reset'): void; (e: 'download'): void; }`
27
-
28
- ### Slots
29
-
30
- - `extra`
31
-
32
- ### Expose
33
-
34
- - 无。
35
-
36
- ## 组件依赖
37
-
38
- - 无组件依赖或仅依赖基础库。
39
-
40
- ## 使用建议
41
-
42
- - 优先通过上层组合组件使用;直接使用前请确认 props 数据结构来自对应类型定义。
@@ -1,88 +0,0 @@
1
- <!-- AI SUMMARY -->
2
- ## 快速了解
3
-
4
- 源码为空文件,没有 props、emits、slots 或渲染能力;不建议作为功能组件使用。 源码位置:src/components/ai-questions/questions-container.vue。
5
-
6
- ### 关联组件
7
- - **user-question-card** — 用户问题中断交互请使用实际可渲染的问题卡片组件
8
- - **user-question-option** — 用户问题选项行由实际中断组件承载
9
- - **interrupt-message** — HITL 中断消息由 InterruptMessage 分发到具体问题组件
10
-
11
- ---
12
- <!-- FULL DOC -->
13
-
14
- # QuestionsContainer 问题容器占位
15
-
16
- > **能力域**:辅助能力
17
-
18
- `QuestionsContainer` 当前只是保留在源码目录中的空文件,占位路径为 `src/components/ai-questions/questions-container.vue`。它没有模板、脚本、样式、props、emits、slots 或任何渲染行为。
19
-
20
- 本文档保留该条目,是为了在组件总览和 MCP 文档检索中明确说明:它不是当前可用能力。
21
-
22
- ## 源码事实
23
-
24
- - **源码位置**:`src/components/ai-questions/questions-container.vue`
25
- - **文件大小**:`0` 字节
26
- - **能力说明**:源码为空文件,没有 props、emits、slots 或渲染能力;不建议作为功能组件使用。
27
-
28
- ## 当前状态
29
-
30
- | 项目 | 状态 |
31
- | -------- | ---- |
32
- | 模板 | 无 |
33
- | 脚本逻辑 | 无 |
34
- | 样式 | 无 |
35
- | Props | 无 |
36
- | Emits | 无 |
37
- | Slots | 无 |
38
- | Expose | 无 |
39
-
40
- ## 不可用示例
41
-
42
- 下面的写法不会产生任何可见 UI,也不会承载问题列表逻辑:
43
-
44
- ```vue
45
- <template>
46
- <!-- 不建议使用:当前组件为空文件 -->
47
- <QuestionsContainer />
48
- </template>
49
- ```
50
-
51
- ## 推荐替代
52
-
53
- 如果要展示用户问题中断或选项交互,请使用已经实现的中断消息组件链路:
54
-
55
- ```vue
56
- <template>
57
- <InterruptMessage :message="message" />
58
- </template>
59
- ```
60
-
61
- 或在具体场景中使用:
62
-
63
- - [InterruptMessage](../agent/interrupt-message.md) — 中断消息分发入口。
64
- - [UserQuestionCard](../agent/user-question-card.md) — 用户问题中断交互面板。
65
- - [UserQuestionOption](../agent/user-question-option.md) — 用户问题选项行。
66
-
67
- ## API
68
-
69
- ### Props
70
-
71
- - 无。
72
-
73
- ### Emits
74
-
75
- - 无。
76
-
77
- ### Slots
78
-
79
- - 无。
80
-
81
- ### Expose
82
-
83
- - 无。
84
-
85
- ## 使用建议
86
-
87
- - 不建议在业务中使用该组件。
88
- - 如果后续补齐实现,需要同步更新本文档的能力说明、示例、API 与关联组件。
@@ -1,112 +0,0 @@
1
- <!-- AI SUMMARY -->
2
- ## 快速了解
3
-
4
- 渲染引用文档类活动内容,复用 ActivityLayout 与 ReferenceContent。 源码位置:src/components/chat-content/reference-doc-content/reference-doc-content.vue。
5
-
6
- ### 关联组件
7
- - **activity-message** — 非 knowledge_rag / flow_agent 活动默认可分发为引用文档活动
8
- - **activity-layout** — 提供可折叠的活动容器外壳
9
- - **reference-content** — 渲染引用文档列表
10
-
11
- ---
12
- <!-- FULL DOC -->
13
-
14
- # ReferenceDocContent 引用文档活动
15
-
16
- > **能力域**:Agent 能力
17
-
18
- `ReferenceDocContent` 用于渲染“引用 N 篇资料作为参考”这类活动消息。组件基于 `ActivityLayout` 提供折叠外壳,并将文档数组交给 `ReferenceContent` 展示。
19
-
20
- 通常不需要直接使用,`ActivityMessage` 会在引用文档活动场景中分发到本组件。
21
-
22
- ## 源码事实
23
-
24
- - **源码位置**:`src/components/chat-content/reference-doc-content/reference-doc-content.vue`
25
- - **能力说明**:渲染引用文档类活动内容,复用 ActivityLayout 与 ReferenceContent。
26
-
27
- ## 核心能力
28
-
29
- - **数量标题**:根据 `content.length` 生成标题,中文为“引用 N 篇资料作为参考”
30
- - **文档图标**:标题区域固定展示文档图标,不随消息状态变化
31
- - **可折叠内容**:通过 `v-model:collapsed` 控制引用列表展开/收起,默认展开
32
- - **引用列表复用**:文档展示、hover 操作图标、链接打开规则均由 `ReferenceContent` 负责
33
-
34
- ## 基础用法
35
-
36
- ```vue
37
- <template>
38
- <ReferenceDocContent
39
- v-model:collapsed="collapsed"
40
- :content="docs"
41
- />
42
- </template>
43
-
44
- <script setup lang="ts">
45
- import { ref } from 'vue';
46
- import ReferenceDocContent from '@blueking/chat-x/src/components/chat-content/reference-doc-content/reference-doc-content.vue';
47
- import type { ReferenceDocumentContent } from '@blueking/chat-x';
48
-
49
- const collapsed = ref(false);
50
-
51
- const docs: ReferenceDocumentContent[] = [
52
- { name: '蓝鲸 Agent 接入指南', url: 'https://example.com/agent', originFile: 'https://example.com/docs/agent' },
53
- { name: '主机巡检操作手册', url: 'https://example.com/host-check', originFile: 'https://example.com/docs/host-check' },
54
- ];
55
- </script>
56
- ```
57
-
58
- **渲染效果**
59
-
60
- ## 空引用
61
-
62
- 当 `content` 为空或未传入时,标题数量显示为 `0`,引用列表为空。
63
-
64
- ## 折叠状态
65
-
66
- ## API
67
-
68
- ### Props
69
-
70
- | 属性名 | 类型 | 必填 | 默认值 | 说明 |
71
- | ---------- | ---------------------------- | ---- | ------ | -------------------------------------- |
72
- | content | `ReferenceDocumentContent[]` | 否 | — | 引用文档列表 |
73
- | messageUid | `string` | 否 | — | 所属消息唯一标识,当前组件暂未直接使用 |
74
-
75
- ### Models
76
-
77
- | 名称 | 类型 | 默认值 | 说明 |
78
- | --------- | --------- | ------- | ---------------- |
79
- | collapsed | `boolean` | `false` | 活动内容是否折叠 |
80
-
81
- ### Emits
82
-
83
- - 无显式 emits;`v-model:collapsed` 会产生 `update:collapsed`。
84
-
85
- ### Slots
86
-
87
- - 无。
88
-
89
- ### Expose
90
-
91
- - 无。
92
-
93
- ## 类型定义
94
-
95
- ```typescript
96
- export type ReferenceDocumentContent = {
97
- name: string; // 文档标题
98
- originFile: string; // 原始文件链接,存在时 ReferenceContent 显示跳转操作
99
- url: string; // 预览链接或标题点击链接
100
- };
101
- ```
102
-
103
- ## 使用建议
104
-
105
- - 只负责引用文档活动外壳;如果只需要纯引用列表,请直接使用 [ReferenceContent](../rendering/reference-content.md)。
106
- - 文档条目的过滤与操作图标规则以 `ReferenceContent` 为准,`ReferenceDocContent` 不重复处理。
107
-
108
- ## 关联组件
109
-
110
- - [ActivityMessage](../message/activity-message.md) — 活动消息分发入口。
111
- - [ActivityLayout](../helper/activity-layout.md) — 折叠活动外壳。
112
- - [ReferenceContent](../rendering/reference-content.md) — 引用来源列表。
@@ -1,93 +0,0 @@
1
- <!-- AI SUMMARY -->
2
- ## 快速了解
3
-
4
- schema.ts 仍导出 UserSingleChoiceQuestionSchema、UserMultiChoiceQuestionSchema、UserQuestionSchema 及 FromSchema 推导类型; 新的 aidev:user_question 中断不再通过 BaseInterrupt.responseSchema 区分单选/多选,而是在 metadata.questions[].multiSelect 中描述题型。
5
-
6
- ### 关联组件
7
- - **interrupt** — 新 UserQuestionInterrupt 与 UserQuestionResume 协议
8
- - **user-question-card** — 根据 metadata.questions 渲染单选、多选与 Others 输入
9
-
10
- ---
11
- <!-- FULL DOC -->
12
-
13
- # 用户问题 Schema
14
-
15
- > **分类**:type
16
-
17
- `src/ag-ui/types/schema.ts` 保留了历史 JSON Schema 工具导出:
18
-
19
- - `UserSingleChoiceQuestionSchema`
20
- - `UserMultiChoiceQuestionSchema`
21
- - `UserQuestionSchema`
22
- - `UserSingleChoiceQuestion`
23
- - `UserMultiChoiceQuestion`
24
- - `UserQuestion`
25
-
26
- 新的 `InterruptReason.UserQuestion`(`'aidev:user_question'`)协议不再依赖 `BaseInterrupt.responseSchema`,而是在 `UserQuestionInterrupt.metadata.questions[]` 中用 `multiSelect` 描述单选 / 多选题,并通过 `UserQuestionResume.payload.answers` 回传回答。
27
-
28
- ## 新协议入口
29
-
30
- ```typescript
31
- type UserQuestionItem = {
32
- header: string;
33
- multiSelect: boolean;
34
- options?: UserQuestionOptionItem[];
35
- question: string;
36
- };
37
-
38
- type UserQuestionResume = {
39
- interruptId: string;
40
- reason: InterruptReason.UserQuestion;
41
- status: 'cancelled' | 'resolved';
42
- payload: {
43
- answers: UserQuestionAnswerItem[];
44
- };
45
- };
46
- ```
47
-
48
- 完整结构见 [中断类型 Interrupt](./interrupt.md#userquestioninterrupt)。
49
-
50
- ## 历史导出
51
-
52
- ### UserSingleChoiceQuestionSchema
53
-
54
- ```typescript
55
- const UserSingleChoiceQuestionSchema = {
56
- properties: {
57
- question: {
58
- enum: [],
59
- type: 'string',
60
- },
61
- },
62
- required: ['question'],
63
- type: 'object',
64
- } as const;
65
- ```
66
-
67
- ### UserMultiChoiceQuestionSchema
68
-
69
- ```typescript
70
- const UserMultiChoiceQuestionSchema = {
71
- properties: {
72
- question: {
73
- items: {
74
- enum: [],
75
- type: 'string',
76
- },
77
- uniqueItems: true,
78
- type: 'array',
79
- },
80
- },
81
- required: ['question'],
82
- type: 'object',
83
- } as const;
84
- ```
85
-
86
- ### UserQuestionSchema
87
-
88
- `UserQuestionSchema` 与 `UserQuestion` 仍为 `UserMultiChoiceQuestionSchema` / `UserMultiChoiceQuestion` 的别名。
89
-
90
- ## 关联文档
91
-
92
- - [中断类型 Interrupt](./interrupt.md)
93
- - [UserQuestionCard 用户问题中断](../components/agent/user-question-card)
@@ -1,91 +0,0 @@
1
- <!-- AI SUMMARY -->
2
- ## 快速了解
3
-
4
- 源码为空文件,没有 props、emits、slots 或渲染能力;不建议作为功能组件使用。 源码位置:src/components/ai-questions/selection-question.vue。
5
-
6
- ### 关联组件
7
- - **user-question-card** — 选择类问题交互请使用实际可渲染的问题卡片组件
8
- - **user-question-option** — 单个选项行由实际问题组件渲染
9
- - **interrupt-message** — HITL 中断消息由 InterruptMessage 分发到具体问题组件
10
-
11
- ---
12
- <!-- FULL DOC -->
13
-
14
- # SelectionQuestion 选择问题占位
15
-
16
- > **能力域**:辅助能力
17
-
18
- `SelectionQuestion` 当前只是保留在源码目录中的空文件,占位路径为 `src/components/ai-questions/selection-question.vue`。它没有模板、脚本、样式、props、emits、slots 或任何选择交互能力。
19
-
20
- 本文档保留该条目,是为了明确它不是当前可用的问题选择组件,避免业务误接入。
21
-
22
- ## 源码事实
23
-
24
- - **源码位置**:`src/components/ai-questions/selection-question.vue`
25
- - **文件大小**:`0` 字节
26
- - **能力说明**:源码为空文件,没有 props、emits、slots 或渲染能力;不建议作为功能组件使用。
27
-
28
- ## 当前状态
29
-
30
- | 项目 | 状态 |
31
- | -------- | ---- |
32
- | 模板 | 无 |
33
- | 脚本逻辑 | 无 |
34
- | 样式 | 无 |
35
- | Props | 无 |
36
- | Emits | 无 |
37
- | Slots | 无 |
38
- | Expose | 无 |
39
-
40
- ## 不可用示例
41
-
42
- 下面的写法不会产生选择题 UI,也不会发出确认事件:
43
-
44
- ```vue
45
- <template>
46
- <!-- 不建议使用:当前组件为空文件 -->
47
- <SelectionQuestion />
48
- </template>
49
- ```
50
-
51
- ## 推荐替代
52
-
53
- 选择类用户问题请走中断消息链路,由已实现的组件负责展示选项和处理确认:
54
-
55
- ```vue
56
- <template>
57
- <UserQuestionCard
58
- :content="content"
59
- @confirm="handleConfirm"
60
- />
61
- </template>
62
- ```
63
-
64
- 相关文档:
65
-
66
- - [UserQuestionCard](../agent/user-question-card.md) — 用户问题中断交互面板。
67
- - [UserQuestionOption](../agent/user-question-option.md) — 用户问题选项行。
68
- - [InterruptMessage](../agent/interrupt-message.md) — 中断消息分发入口。
69
-
70
- ## API
71
-
72
- ### Props
73
-
74
- - 无。
75
-
76
- ### Emits
77
-
78
- - 无。
79
-
80
- ### Slots
81
-
82
- - 无。
83
-
84
- ### Expose
85
-
86
- - 无。
87
-
88
- ## 使用建议
89
-
90
- - 不建议在业务中使用该组件。
91
- - 如果后续补齐实现,需要同步更新本文档的示例、选择交互事件、API 与关联组件。
@@ -1,103 +0,0 @@
1
- <!-- AI SUMMARY -->
2
- ## 快速了解
3
-
4
- FlowAgent 节点详情中的轻量表格展示组件。 源码位置:src/components/chat-content/flow-agent-content/simple-table.vue。
5
-
6
- ### 关联组件
7
- - **flow-agent-node-detail** — 节点详情中用于展示输入参数、插件输出定义和结构化输出
8
- - **detail-section** — 通常放在详情分段容器内使用
9
-
10
- ---
11
- <!-- FULL DOC -->
12
-
13
- # SimpleTable 简易表格
14
-
15
- > **能力域**:Agent 能力
16
-
17
- `SimpleTable` 是 FlowAgent 节点详情中的轻量只读表格,用于展示参数名、参数值、插件输出定义等结构化信息。组件只根据 `columns` 和 `data` 渲染表格,不提供排序、筛选、分页或编辑能力。
18
-
19
- 通常不需要单独使用,主要由 `FlowAgentNodeDetail` 内部组合。
20
-
21
- ## 源码事实
22
-
23
- - **源码位置**:`src/components/chat-content/flow-agent-content/simple-table.vue`
24
- - **能力说明**:FlowAgent 节点详情中的轻量表格展示组件。
25
-
26
- ## 核心能力
27
-
28
- - **列驱动渲染**:通过 `columns` 决定表头、字段读取 key 和单元格换行策略
29
- - **空值兜底**:单元格值为 `null` 或 `undefined` 时显示 `--`,`0` 会正常显示为 `0`
30
- - **空数据占位**:`data` 为空数组时渲染一行 `--`,`colspan` 等于列数
31
- - **长文本换行**:列配置 `breakAll: true` 后,该列单元格添加 `is-break-all` 样式,适合展示 JSON 或长字符串
32
-
33
- ## 基础用法
34
-
35
- ```vue
36
- <template>
37
- <SimpleTable
38
- :columns="columns"
39
- :data="data"
40
- />
41
- </template>
42
-
43
- <script setup lang="ts">
44
- import SimpleTable from '@blueking/chat-x/src/components/chat-content/flow-agent-content/simple-table.vue';
45
-
46
- const columns = [
47
- { key: 'key', label: '参数名' },
48
- { breakAll: true, key: 'value', label: '参数值' },
49
- ];
50
-
51
- const data = [
52
- { key: 'bk_host_id', value: '10001' },
53
- { key: 'metadata', value: '{"source":"cmdb","scope":"production"}' },
54
- ];
55
- </script>
56
- ```
57
-
58
- **渲染效果**
59
-
60
- ## 空数据
61
-
62
- 当 `data.length === 0` 时,组件渲染一行居中的 `--`,用于表示当前分段没有可展示数据。
63
-
64
- ## API
65
-
66
- ### Props
67
-
68
- | 属性名 | 类型 | 必填 | 默认值 | 说明 |
69
- | ------- | ------------------------ | ---- | ------ | ---------------------------- |
70
- | columns | `SimpleTableColumn[]` | 是 | — | 表格列配置 |
71
- | data | `Record<string, unknown>[]` | 是 | — | 表格行数据,按列 `key` 取值 |
72
-
73
- ### Emits
74
-
75
- - 无。
76
-
77
- ### Slots
78
-
79
- - 无。
80
-
81
- ### Expose
82
-
83
- - 无。
84
-
85
- ## 类型定义
86
-
87
- ```typescript
88
- export interface SimpleTableColumn {
89
- breakAll?: boolean; // 是否对该列单元格启用 word-break: break-all
90
- key: string; // 从 data 行对象中读取的字段名
91
- label: string; // 表头文案
92
- }
93
- ```
94
-
95
- ## 使用建议
96
-
97
- - 适合详情面板中的短表格,不适合承载复杂数据表能力。
98
- - 需要展示对象值时,建议在传入前先序列化为字符串;`FlowAgentNodeDetail` 内部会对对象值执行 `JSON.stringify`。
99
-
100
- ## 关联组件
101
-
102
- - [FlowAgentNodeDetail](./flow-agent-node-detail.md) — 节点详情主体。
103
- - [DetailSection](./detail-section.md) — 表格常放置在详情分段内。