@blueking/chat-x 0.0.52-dev.6 → 2.4.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 (63) hide show
  1. package/dist/components/chat-content/flow-agent-content/flow-agent-state.d.ts +25 -8
  2. package/dist/components/chat-content/flow-agent-content/use-flow-agent.d.ts +6 -1
  3. package/dist/components/chat-content/flow-agent-content/use-flow-node-actions.d.ts +1 -1
  4. package/dist/composables/use-common.d.ts +9 -0
  5. package/dist/icons/execution.d.ts +4 -0
  6. package/dist/index.css +1 -1
  7. package/dist/index.js +2726 -2668
  8. package/dist/index.js.map +1 -1
  9. package/dist/lang/lang.d.ts +4 -2
  10. package/dist/mcp/generated/docs/activity-layout.md +4 -2
  11. package/dist/mcp/generated/docs/activity-message.md +18 -16
  12. package/dist/mcp/generated/docs/ai-selection.md +5 -2
  13. package/dist/mcp/generated/docs/ai-slash-input.md +4 -0
  14. package/dist/mcp/generated/docs/animation-text.md +5 -1
  15. package/dist/mcp/generated/docs/assistant-message.md +1 -1
  16. package/dist/mcp/generated/docs/chat-container.md +3 -1
  17. package/dist/mcp/generated/docs/chat-input.md +1 -0
  18. package/dist/mcp/generated/docs/cite-content.md +6 -2
  19. package/dist/mcp/generated/docs/common-error-content.md +8 -2
  20. package/dist/mcp/generated/docs/delete-tool.md +6 -1
  21. package/dist/mcp/generated/docs/desc-panel.md +5 -1
  22. package/dist/mcp/generated/docs/detail-section.md +3 -1
  23. package/dist/mcp/generated/docs/execution-summary.md +23 -1
  24. package/dist/mcp/generated/docs/file-content.md +8 -2
  25. package/dist/mcp/generated/docs/file-upload-btn.md +3 -1
  26. package/dist/mcp/generated/docs/flow-agent-content.md +40 -26
  27. package/dist/mcp/generated/docs/flow-agent-node-detail.md +5 -2
  28. package/dist/mcp/generated/docs/highlight-keyword.md +9 -31
  29. package/dist/mcp/generated/docs/input-attachment.md +3 -0
  30. package/dist/mcp/generated/docs/input-info-alert.md +3 -0
  31. package/dist/mcp/generated/docs/interrupt-message.md +6 -1
  32. package/dist/mcp/generated/docs/key-value-content.md +6 -1
  33. package/dist/mcp/generated/docs/knowledge-rag-content.md +4 -1
  34. package/dist/mcp/generated/docs/markdown-container.md +3 -0
  35. package/dist/mcp/generated/docs/markdown-content.md +2 -2
  36. package/dist/mcp/generated/docs/mention-tag.md +2 -0
  37. package/dist/mcp/generated/docs/mention-text.md +3 -0
  38. package/dist/mcp/generated/docs/message-container.md +4 -4
  39. package/dist/mcp/generated/docs/preview-toolbar.md +4 -0
  40. package/dist/mcp/generated/docs/reference-content.md +6 -1
  41. package/dist/mcp/generated/docs/reference-doc-content.md +3 -1
  42. package/dist/mcp/generated/docs/simple-table.md +3 -1
  43. package/dist/mcp/generated/docs/text-content.md +5 -1
  44. package/dist/mcp/generated/docs/tool-btn.md +10 -4
  45. package/dist/mcp/generated/docs/toolcall-render.md +8 -8
  46. package/dist/mcp/generated/docs/use-animation-text.md +2 -1
  47. package/dist/mcp/generated/docs/use-artifact-preview.md +11 -1
  48. package/dist/mcp/generated/docs/use-flow-node-actions.md +20 -10
  49. package/dist/mcp/generated/docs/user-question-card.md +31 -0
  50. package/dist/mcp/generated/docs/vnode-renderer.md +3 -3
  51. package/dist/mcp/generated/index.json +93 -100
  52. package/dist/mcp/index.js +0 -0
  53. package/dist/mcp/tools/list-components.js +1 -0
  54. package/dist/mcp/tools/list-components.js.map +1 -1
  55. package/dist/mcp/utils/doc-loader.d.ts +1 -0
  56. package/dist/mcp/utils/doc-loader.js.map +1 -1
  57. package/dist/utils/index.d.ts +1 -0
  58. package/package.json +22 -21
  59. package/skills/blueking-chat-x/references/components/activity-message.md +15 -13
  60. package/skills/blueking-chat-x/references/components/ai-selection.md +1 -1
  61. package/skills/blueking-chat-x/references/components/flow-agent-content.md +14 -10
  62. package/dist/mcp/generated/docs/questions-container.md +0 -88
  63. package/dist/mcp/generated/docs/selection-question.md +0 -91
@@ -155,12 +155,12 @@ const collapsed = ref(false); // false = 展开,true = 折叠
155
155
 
156
156
  ### 核心交互
157
157
 
158
- - **标题栏**:显示「执行情况」+ 所有任务聚合后的各状态计数(执行中 / 成功 / 失败 / 挂起),颜色区分
158
+ - **标题栏**:显示「执行情况」+ 所有任务聚合后的各状态计数(执行中 / 成功 / 失败 / 挂起 / 已终止 / 待执行 / 跳过),颜色区分。任一任务 `task_state === REVOKED` 时前置橙红色「已终止」并用括号包裹统计
159
159
  - **任务组**:逐个展示任务行,带状态图标、总耗时;点击箭头图标可折叠/展开节点列表
160
160
  - **有效证据**:`task.has_confidence === true` 时,任务行右侧展示「有效证据」按钮,点击后在侧栏打开置信度/证据详情 Tab(`props.has_confidence: true`)
161
161
  - **默认激活**:当 `MessageContainer` 已注入滚动上下文(`useContainerScrollProvider`,供 `FlowAgentContent` 内 `useContainerScrollConsumer` 读取)时,组件挂载后若存在 `task.is_active === true` 且 `task.has_confidence === true` 的任务,会自动在侧栏打开该任务的「有效证据」Tab;无滚动 Provider(例如独立演示)时不做自动打开。用户手动切换 Tab 后不再沿用 `is_active` 默认高亮
162
162
  - **选中态**:当前侧栏 Tab 与任务行 / 节点行联动高亮(`is-selected`);任务 Tab 与「有效证据」Tab 均视为该任务的选中态
163
- - **节点列表**:每个节点显示状态圆点、名称和耗时;hover 时出现行尾操作按钮组
163
+ - **节点列表**:每个节点显示状态圆点、名称和耗时;`REVOKED` 叶子节点使用已终止圆点(`#F55B0E` 描边 / `#FEE8DD` 浅底);hover 时出现行尾操作按钮组
164
164
  - **失败节点操作**:失败且 `retryable` / `skippable` 为 `true` 的节点,hover 时额外展示「重试」「跳过」按钮,点击后通过 `onInterruptResume` 回传 Agent(不传 `interrupt`)。仅在对话流内出现:侧栏「执行情况」面板(`ExecutionSummary`)内渲染的同一消息只保留「详情」
165
165
  - **节点详情**:点击「详情」会通过 `useCustomTabConsumer` 在 `ChatContainer` 侧边栏新增自定义 Tab,展示节点配置(基础信息、输入参数、输出参数)
166
166
 
@@ -173,11 +173,11 @@ FlowAgentContent(activityType = 'flow_agent')
173
173
  ├── ActivityLayout(公共折叠布局容器)
174
174
  │ └── #title
175
175
  │ ├── Loading / ArrowIcon(随 status 切换)
176
- │ └── 执行情况:执行中 N / 成功 N / 失败 N / 挂起 N
176
+ │ └── 执行情况:[已终止(] 执行中 N / 成功 N / 失败 N / 挂起 N / 已终止 N [)]
177
177
  └── #default
178
178
  └── TaskGroup × N
179
179
  ├── TaskHeader(is-selected / has-confidence;箭头点击折叠)
180
- │ ├── 状态图标(running=Loading / success / failed / suspended)
180
+ │ ├── 状态图标(running=Loading / success / failed / terminated / suspended)
181
181
  │ ├── task_name(HighlightKeyword 支持搜索高亮)
182
182
  │ └── trailing:总耗时 + 「有效证据」(has_confidence 时)
183
183
  └── NodeList
@@ -313,15 +313,17 @@ const messages = [
313
313
 
314
314
  ### 节点状态映射
315
315
 
316
- 组件内部将 BkFlow 原始状态归并为四种显示状态:
317
-
318
- | 归并状态 | 原始状态 | 颜色 |
319
- | ----------- | ----------------------------------------------------------------------------------- | ------- |
320
- | `running` | CREATED / LOOP_READY / READY / RUNNING / BLOCKED / ROLLING_BACK / ROLL_BACK_SUCCESS | #3A84FF |
321
- | `success` | FINISHED | #18B456 |
322
- | `failed` | FAILED / REVOKED / ROLL_BACK_FAILED | #EA3636 |
323
- | `suspended` | SUSPENDED | #F59500 |
324
- | `pending` | PENDING | #DCDEE5 |
316
+ 组件内部将 BkFlow 原始状态归并为收敛显示状态:
317
+
318
+ | 归并状态 | 原始状态 | 颜色 | 统计 | 整体 header |
319
+ | ------------ | ----------------------------------------------------------------------------------- | --------- | ---- | ----------- |
320
+ | `running` | CREATED / LOOP_READY / READY / RUNNING / BLOCKED / ROLLING_BACK / ROLL_BACK_SUCCESS | #3A84FF | 是 | 否 |
321
+ | `success` | FINISHED | #65C389 | 是 | 否 |
322
+ | `failed` | FAILED / ROLL_BACK_FAILED | #EA3636 | 是 | 否 |
323
+ | `suspended` | SUSPENDED | #F59500 | 是 | 否 |
324
+ | `terminated` | REVOKED | #F55B0E | 是 | 是 |
325
+ | `pending` | PENDING | #4D4F56 | 是 | 否 |
326
+ | `skipped` | SKIPPED | #5B7290 | 是 | 否 |
325
327
 
326
328
  ### 侧栏 Tab 命名规则
327
329
 
@@ -376,7 +376,7 @@ v-model:visible="selectionVisible"
376
376
  | 属性名 | 类型 | 默认值 | 必填 | 说明 |
377
377
  | ---------------- | ------------ | ------------------- | ---- | ------------------------------------------------------- |
378
378
  | visible | `boolean` | - | ✅ | 控制弹窗显示,必须使用 `v-model:visible` |
379
- | shortcuts | `Shortcut[]` | `DEFAULT_SHORTCUTS` | - | 快捷指令列表,默认为内置「问问小鲸」 |
379
+ | shortcuts | `Shortcut[]` | `DEFAULT_SHORTCUTS` | - | 快捷指令列表;未传或空数组时回退内置「问问小鲸」 |
380
380
  | maxShortcutCount | `number` | `3` | - | 直接展示的最大指令数,超出收起到「更多」菜单 |
381
381
  | offset | `number` | `10` | - | 弹窗与选区的垂直间距(px) |
382
382
  | excludeSelectors | `string[]` | `[]` | - | 排除的 CSS 选择器数组,选区在这些选择器内部时不显示弹窗 |
@@ -23,7 +23,8 @@
23
23
 
24
24
  ## 核心能力
25
25
 
26
- - **状态聚合统计**:汇总所有任务的 `statistics.state_counts`,在标题栏按「执行中 / 成功 / 失败 / 挂起 / 待执行」分类展示带颜色的计数(超过 99 显示 `99+`)
26
+ - **状态聚合统计**:汇总所有任务的 `statistics.state_counts`,在标题栏按「执行中 / 成功 / 失败 / 挂起 / 已终止 / 待执行 / 跳过」分类展示带颜色的计数(超过 99 显示 `99+`)
27
+ - **已终止整体覆盖**:任一任务 `task_state === REVOKED` 时,标题栏在统计前展示橙红色「已终止」,并用括号包裹统计:`执行情况:已终止(…)`;任务行使用终止图标,叶子节点使用已终止圆点(`#F55B0E` 描边 / `#FEE8DD` 浅底)
27
28
  - **两级折叠**:任务整体由 `ActivityLayout` 折叠;每个任务节点列表可单独展开/收起
28
29
  - **耗时格式化**:节点耗时与任务总耗时按 `d/h/m/s` 紧凑展示,小于 1 秒显示 `<1s`
29
30
  - **节点行尾操作**:hover 失败节点行显示「重试 / 跳过 / 详情」按钮组(间距 12px);成功 / 运行中等非失败节点仅显示「详情」。重试 / 跳过依赖节点 `retryable` / `skippable` 能力位,通过 `onInterruptResume` 回传 Agent
@@ -34,15 +35,17 @@
34
35
 
35
36
  ## 状态映射
36
37
 
37
- 组件将后端原始 `state` / `task_state` 归一为 5 类收敛状态(`getConvergedState`),用于图标、颜色与统计分类:
38
+ 组件将后端原始 `state` / `task_state` 归一为收敛状态(`getConvergedState`),用于图标、颜色与统计分类。配置源为 `STATE_DEFS`:
38
39
 
39
- | 收敛状态 | 颜色 | 原始状态 |
40
- | ----------- | ----------- | --------------------------------------------------------------------------------- |
41
- | `success` | `#18B456` | `FINISHED` |
42
- | `failed` | `#EA3636` | `FAILED`、`REVOKED`、`ROLL_BACK_FAILED` |
43
- | `suspended` | `#F59500` | `SUSPENDED` |
44
- | `pending` | `#4D4F56` | `PENDING` |
45
- | `running` | `#3A84FF` | `CREATED`、`LOOP_READY`、`READY`、`RUNNING`、`BLOCKED`、`ROLLING_BACK`、`ROLL_BACK_SUCCESS` 及未知状态(兜底) |
40
+ | 收敛状态 | 颜色 | 原始状态 | 统计 | 整体 header |
41
+ | ------------- | ----------- | --------------------------------------------------------------------------------- | ---- | ----------- |
42
+ | `running` | `#3A84FF` | `CREATED`、`LOOP_READY`、`READY`、`RUNNING`、`BLOCKED`、`ROLLING_BACK`、`ROLL_BACK_SUCCESS` 及未知状态(兜底) | 是 | 否 |
43
+ | `success` | `#65C389` | `FINISHED` | 是 | 否 |
44
+ | `failed` | `#EA3636` | `FAILED`、`ROLL_BACK_FAILED` | 是 | 否 |
45
+ | `suspended` | `#F59500` | `SUSPENDED` | 是 | 否 |
46
+ | `terminated` | `#F55B0E` | `REVOKED` | 是 | 是 |
47
+ | `pending` | `#4D4F56` | `PENDING` | 是 | 否 |
48
+ | `skipped` | `#5B7290` | `SKIPPED` | 是 | 否 |
46
49
 
47
50
  ## 基础用法
48
51
 
@@ -160,7 +163,8 @@ addCustomTab?.({
160
163
  ActivityLayout(activity-type=flow_agent,v-model:collapsed)
161
164
  ├── #title(执行情况统计栏)
162
165
  │ ├── AiLoading / ArrowRightIcon(加载态 / 折叠箭头)
163
- │ └── flow-agent-stat-item × N(按收敛状态分类的计数)
166
+ │ ├── flow-agent-flow-header(任一任务 REVOKED 时展示「已终止」)
167
+ │ └── flow-agent-stat-item × N(按收敛状态分类的计数,含 terminated)
164
168
  └── flow-agent-task-group × N(任务)
165
169
  ├── flow-agent-task-header(点击折叠当前任务)
166
170
  │ ├── task-arrow(任务展开箭头)
@@ -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,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 与关联组件。