@blueking/chat-x 0.0.43 → 0.0.45-beta.2
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/README.md +1 -1
- package/dist/ag-ui/types/constants.d.ts +16 -0
- package/dist/ag-ui/types/contents.d.ts +0 -3
- package/dist/ag-ui/types/index.d.ts +2 -0
- package/dist/ag-ui/types/interrupt.d.ts +107 -0
- package/dist/ag-ui/types/messages.d.ts +2 -0
- package/dist/ag-ui/types/schema.d.ts +42 -0
- package/dist/components/ai-buttons/tool-btn/tool-btn.vue.d.ts +1 -11
- package/dist/components/ai-questions/questions-container.vue.d.ts +3 -0
- package/dist/components/ai-questions/selection-question.vue.d.ts +3 -0
- package/dist/components/chat-content/flow-agent-content/flow-agent-content.vue.d.ts +0 -1
- package/dist/components/chat-content/flow-agent-content/flow-agent-node-detail.vue.d.ts +0 -2
- package/dist/components/chat-content/index.d.ts +2 -0
- package/dist/components/chat-input/ai-slash-input/ai-slash-input.vue.d.ts +1 -3
- package/dist/components/chat-input/chat-input.vue.d.ts +10 -9
- package/dist/components/chat-input/input-attachment/input-attachment.vue.d.ts +1 -0
- package/dist/components/chat-input/{ai-slash-input/ai-skill-list/ai-skill-list.vue.d.ts → input-info-alert.vue.d.ts} +1 -3
- package/dist/components/chat-message/interrupt-message/index.d.ts +2 -0
- package/dist/components/chat-message/interrupt-message/interrupt-message.vue.d.ts +17 -0
- package/dist/components/chat-message/interrupt-message/tool-approval-card.vue.d.ts +8 -0
- package/dist/components/chat-message/interrupt-message/user-question/index.d.ts +5 -0
- package/dist/components/chat-message/interrupt-message/user-question/use-user-question.d.ts +35 -0
- package/dist/components/chat-message/interrupt-message/user-question/user-question-answered-card.vue.d.ts +25 -0
- package/dist/components/chat-message/interrupt-message/user-question/user-question-card.vue.d.ts +25 -0
- package/dist/components/chat-message/interrupt-message/user-question/user-question-choice.vue.d.ts +13 -0
- package/dist/components/chat-message/interrupt-message/user-question/user-question-option.vue.d.ts +17 -0
- package/dist/components/chat-message/message-container/message-container.vue.d.ts +14 -7
- package/dist/components/chat-message/message-render/message-render.vue.d.ts +4 -0
- package/dist/components/index.d.ts +3 -5
- package/dist/composables/index.d.ts +0 -1
- package/dist/composables/use-common.d.ts +1 -1
- package/dist/composables/use-custom-tab.d.ts +1 -1
- package/dist/composables/use-message-group.d.ts +2004 -227
- package/dist/icons/execution.d.ts +0 -3
- package/dist/icons/index.d.ts +1 -1
- package/dist/icons/interrupt.d.ts +24 -0
- package/dist/index.css +1 -1
- package/dist/index.js +5059 -4674
- package/dist/index.js.map +1 -1
- package/dist/lang/lang.d.ts +33 -5
- package/dist/mcp/generated/docs/activity-layout.md +138 -0
- package/dist/mcp/generated/docs/activity-message.md +18 -28
- package/dist/mcp/generated/docs/ai-image.md +9 -4
- package/dist/mcp/generated/docs/ai-loading.md +11 -6
- package/dist/mcp/generated/docs/ai-prompt-list.md +42 -0
- package/dist/mcp/generated/docs/ai-selection.md +10 -5
- package/dist/mcp/generated/docs/ai-slash-editor.md +43 -0
- package/dist/mcp/generated/docs/ai-slash-input.md +43 -0
- package/dist/mcp/generated/docs/ai-slash-menu.md +42 -0
- package/dist/mcp/generated/docs/animation-text.md +9 -4
- package/dist/mcp/generated/docs/assistant-message.md +10 -5
- package/dist/mcp/generated/docs/chat-container.md +144 -93
- package/dist/mcp/generated/docs/chat-input.md +45 -9
- package/dist/mcp/generated/docs/cite-content.md +8 -3
- package/dist/mcp/generated/docs/code-content.md +9 -4
- package/dist/mcp/generated/docs/common-error-content.md +10 -5
- package/dist/mcp/generated/docs/constants.md +68 -3
- package/dist/mcp/generated/docs/content-render.md +10 -5
- package/dist/mcp/generated/docs/delete-tool.md +9 -4
- package/dist/mcp/generated/docs/desc-panel.md +9 -4
- package/dist/mcp/generated/docs/detail-section.md +93 -0
- package/dist/mcp/generated/docs/execution-summary.md +10 -5
- package/dist/mcp/generated/docs/file-content.md +9 -4
- package/dist/mcp/generated/docs/file-upload-btn.md +11 -6
- package/dist/mcp/generated/docs/flow-agent-content.md +212 -0
- package/dist/mcp/generated/docs/flow-agent-node-detail.md +240 -0
- package/dist/mcp/generated/docs/highlight-keyword.md +10 -5
- package/dist/mcp/generated/docs/image-content.md +9 -4
- package/dist/mcp/generated/docs/image-preview-group.md +9 -4
- package/dist/mcp/generated/docs/image-preview.md +10 -5
- package/dist/mcp/generated/docs/info-message.md +7 -2
- package/dist/mcp/generated/docs/input-attachment.md +43 -0
- package/dist/mcp/generated/docs/input-info-alert.md +42 -0
- package/dist/mcp/generated/docs/interrupt-message.md +204 -0
- package/dist/mcp/generated/docs/interrupt.md +282 -0
- package/dist/mcp/generated/docs/key-value-content.md +9 -4
- package/dist/mcp/generated/docs/knowledge-rag-content.md +126 -0
- package/dist/mcp/generated/docs/latex-content.md +9 -4
- package/dist/mcp/generated/docs/loading-message.md +11 -6
- package/dist/mcp/generated/docs/markdown-container.md +1 -1
- package/dist/mcp/generated/docs/markdown-content.md +13 -31
- package/dist/mcp/generated/docs/markdown-latex.md +3 -3
- package/dist/mcp/generated/docs/markdown-mermaid.md +3 -3
- package/dist/mcp/generated/docs/mermaid-content.md +9 -4
- package/dist/mcp/generated/docs/message-container.md +70 -12
- package/dist/mcp/generated/docs/message-loading.md +120 -0
- package/dist/mcp/generated/docs/message-render.md +21 -9
- package/dist/mcp/generated/docs/message-tools.md +13 -8
- package/dist/mcp/generated/docs/messages.md +75 -11
- package/dist/mcp/generated/docs/overflow-tips.md +4 -4
- package/dist/mcp/generated/docs/preview-toolbar.md +42 -0
- package/dist/mcp/generated/docs/questions-container.md +88 -0
- package/dist/mcp/generated/docs/reasoning-message.md +10 -5
- package/dist/mcp/generated/docs/reference-content.md +10 -5
- package/dist/mcp/generated/docs/reference-doc-content.md +112 -0
- package/dist/mcp/generated/docs/schema.md +93 -0
- package/dist/mcp/generated/docs/scroll-btn.md +8 -3
- package/dist/mcp/generated/docs/selection-footer.md +9 -4
- package/dist/mcp/generated/docs/selection-question.md +91 -0
- package/dist/mcp/generated/docs/shortcut-btn.md +10 -5
- package/dist/mcp/generated/docs/shortcut-btns.md +10 -5
- package/dist/mcp/generated/docs/shortcut-render.md +11 -10
- package/dist/mcp/generated/docs/simple-table.md +103 -0
- package/dist/mcp/generated/docs/text-content.md +9 -4
- package/dist/mcp/generated/docs/theme.md +3 -3
- package/dist/mcp/generated/docs/tool-approval-card.md +148 -0
- package/dist/mcp/generated/docs/tool-btn.md +15 -41
- package/dist/mcp/generated/docs/tool-message.md +10 -5
- package/dist/mcp/generated/docs/toolcall-render.md +10 -5
- package/dist/mcp/generated/docs/use-animation-text.md +4 -4
- package/dist/mcp/generated/docs/use-clipboard.md +3 -3
- package/dist/mcp/generated/docs/use-command-selection.md +1 -1
- package/dist/mcp/generated/docs/use-custom-tab.md +1 -1
- package/dist/mcp/generated/docs/use-global-config.md +1 -1
- package/dist/mcp/generated/docs/use-menu-keydown.md +1 -1
- package/dist/mcp/generated/docs/use-message-group.md +40 -9
- package/dist/mcp/generated/docs/use-observer-visible-list.md +1 -1
- package/dist/mcp/generated/docs/user-feedback.md +8 -3
- package/dist/mcp/generated/docs/user-message.md +10 -5
- package/dist/mcp/generated/docs/user-question-answered-card.md +106 -0
- package/dist/mcp/generated/docs/user-question-card.md +211 -0
- package/dist/mcp/generated/docs/user-question-choice.md +108 -0
- package/dist/mcp/generated/docs/user-question-option.md +42 -0
- package/dist/mcp/generated/docs/vnode-renderer.md +126 -0
- package/dist/mcp/generated/index.json +1062 -551
- package/dist/mcp/index.js +0 -0
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/list-components.d.ts +7 -6
- package/dist/mcp/tools/list-components.js +23 -29
- package/dist/mcp/tools/list-components.js.map +1 -1
- package/dist/mcp/tools/search-docs.js +1 -1
- package/dist/mcp/tools/search-docs.js.map +1 -1
- package/dist/mcp/utils/doc-loader.d.ts +1 -1
- package/dist/plugins/index.d.ts +0 -1
- package/dist/types/custom.d.ts +0 -1
- package/dist/types/editor.d.ts +0 -6
- package/dist/types/input.d.ts +1 -1
- package/dist/types/tool.d.ts +3 -3
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/utils.d.ts +0 -1
- package/package.json +23 -21
- package/dist/components/chat-content/flow-agent-content/flow-agent-state.d.ts +0 -34
- package/dist/components/chat-content/flow-agent-content/use-flow-agent.d.ts +0 -47
- package/dist/components/chat-content/flow-agent-content/use-flow-tab.d.ts +0 -18
- package/dist/composables/use-full-screen.d.ts +0 -17
- package/dist/icons/screen.d.ts +0 -6
- package/dist/mcp/generated/docs/use-full-screen.md +0 -114
- package/dist/plugins/markdown-bk-inline-style.d.ts +0 -20
package/README.md
CHANGED
|
@@ -458,7 +458,7 @@ CSS 变量 + `useGlobalConfig` 统一调整全局展示配置。
|
|
|
458
458
|
|
|
459
459
|
| 工具 | 说明 |
|
|
460
460
|
| ------------------- | ------------------------------------------- |
|
|
461
|
-
| `list_components` |
|
|
461
|
+
| `list_components` | 列出所有索引条目,支持按 kind / domain 过滤 |
|
|
462
462
|
| `get_component_doc` | 获取指定组件文档,含 AI 摘要 |
|
|
463
463
|
| `search_docs` | 关键词搜索文档 |
|
|
464
464
|
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
export declare enum APPROVAL_STATUS {
|
|
2
|
+
ABANDONED = "abandoned",// 已废弃
|
|
3
|
+
APPROVED = "approved",// 已批准
|
|
4
|
+
CANCELLED = "cancelled",// 已取消
|
|
5
|
+
DRAFT = "draft",// 草稿 - 待审批
|
|
6
|
+
EXPIRED = "expired",// 已过期
|
|
7
|
+
PENDING = "pending",// 待审批
|
|
8
|
+
REJECTED = "rejected",// 已拒绝
|
|
9
|
+
REVOKED = "revoked"
|
|
10
|
+
}
|
|
11
|
+
export declare enum InterruptReason {
|
|
12
|
+
AIDevToolApproval = "aidev:tool_approval",// AI dev 第三方审批
|
|
13
|
+
UserQuestion = "aidev:user_question"
|
|
14
|
+
}
|
|
1
15
|
export declare enum MessageContentType {
|
|
2
16
|
Binary = "binary",
|
|
3
17
|
FlowAgent = "flow_agent",
|
|
@@ -19,6 +33,7 @@ export declare enum MessageRole {
|
|
|
19
33
|
HiddenSystem = "hidden-system",
|
|
20
34
|
HiddenUser = "hidden-user",
|
|
21
35
|
Info = "info",
|
|
36
|
+
Interrupt = "interrupt",
|
|
22
37
|
Loading = "loading",
|
|
23
38
|
Pause = "pause",
|
|
24
39
|
Placeholder = "placeholder",
|
|
@@ -43,3 +58,4 @@ export declare enum MessageStatus {
|
|
|
43
58
|
Streaming = "streaming",
|
|
44
59
|
Success = "success"
|
|
45
60
|
}
|
|
61
|
+
export declare const APPROVAL_STATUS_MAP: Record<APPROVAL_STATUS, string>;
|
|
@@ -49,9 +49,6 @@ export type BkFlowNode = {
|
|
|
49
49
|
type: string;
|
|
50
50
|
};
|
|
51
51
|
export type BkFlowTask = {
|
|
52
|
-
confidence_title?: string;
|
|
53
|
-
has_confidence?: boolean;
|
|
54
|
-
is_active?: boolean;
|
|
55
52
|
nodes: Record<string, BkFlowNode>;
|
|
56
53
|
statistics: {
|
|
57
54
|
state_counts: Record<string, number>;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { APPROVAL_STATUS, InterruptReason, MessageRole } from './constants';
|
|
2
|
+
import type { BaseMessage } from './messages';
|
|
3
|
+
/**
|
|
4
|
+
* AI Dev 第三方工具审批中断
|
|
5
|
+
*/
|
|
6
|
+
export type AIDevToolApprovalInterrupt = BaseInterrupt<InterruptReason.AIDevToolApproval, {
|
|
7
|
+
ticket: {
|
|
8
|
+
approvers: string[];
|
|
9
|
+
sn: string;
|
|
10
|
+
status: APPROVAL_STATUS;
|
|
11
|
+
submit_time: string;
|
|
12
|
+
title: string;
|
|
13
|
+
url: string;
|
|
14
|
+
};
|
|
15
|
+
}>;
|
|
16
|
+
export type BaseInterrupt<T extends InterruptReason, M extends Record<string, any>> = {
|
|
17
|
+
expiresAt?: string;
|
|
18
|
+
id: string;
|
|
19
|
+
message?: string;
|
|
20
|
+
metadata?: M;
|
|
21
|
+
properties?: Record<string, any>;
|
|
22
|
+
reason: T;
|
|
23
|
+
toolCallId: string;
|
|
24
|
+
};
|
|
25
|
+
export type BaseResume<T extends InterruptReason, P extends Record<string, any> = Record<string, any>> = {
|
|
26
|
+
interruptId: string;
|
|
27
|
+
payload: P;
|
|
28
|
+
reason: T;
|
|
29
|
+
status: 'cancelled' | 'resolved';
|
|
30
|
+
};
|
|
31
|
+
export type Interrupt = AIDevToolApprovalInterrupt | BaseInterrupt<InterruptReason, Record<string, any>> | UserQuestionInterrupt;
|
|
32
|
+
export type InterruptItem = Interrupt;
|
|
33
|
+
/**
|
|
34
|
+
* 中断消息
|
|
35
|
+
*
|
|
36
|
+
* 对应 AG-UI 协议 `RUN_FINISHED { outcome: { type: "interrupt", interrupts } }` 事件。
|
|
37
|
+
* 当 Agent 需要 human-in-the-loop(审批 / 补充信息 / 策略阻断等)时,
|
|
38
|
+
* 会派生此类型消息以驱动 UI 渲染等待用户响应;用户响应后通过
|
|
39
|
+
* `RunAgentInput.resume = { interruptId, payload }` 把结果回传给 Agent。
|
|
40
|
+
*
|
|
41
|
+
* @see https://docs.ag-ui.com/drafts/interrupts
|
|
42
|
+
*/
|
|
43
|
+
export type InterruptMessage = BaseMessage<MessageRole.Interrupt, {
|
|
44
|
+
message?: string;
|
|
45
|
+
/** 是否已被用户响应(resume)过,用于 UI 区分"等待响应 / 已处理"两种态 */
|
|
46
|
+
outcome?: RunFinishedOutcome;
|
|
47
|
+
/** outcome.type === success 用户 resume 时回传给 Agent 的 payload,便于回放与持久化 */
|
|
48
|
+
result?: BaseResume<InterruptReason>;
|
|
49
|
+
runId?: string;
|
|
50
|
+
threadId?: string;
|
|
51
|
+
}>;
|
|
52
|
+
export type InterruptResume = ToolApprovalResume | UserQuestionResume;
|
|
53
|
+
/**
|
|
54
|
+
* 中断响应回调(统一约定:payload 在前,原始中断信息在后)
|
|
55
|
+
* @param payload 响应负载(resume payload)
|
|
56
|
+
* @param interrupt 中断原始信息
|
|
57
|
+
* @returns
|
|
58
|
+
*/
|
|
59
|
+
export type OnInterruptResume = (payload: InterruptResume, interrupt: Interrupt) => Promise<void> | void;
|
|
60
|
+
export type RunFinishedOutcome = {
|
|
61
|
+
interrupts: Interrupt[];
|
|
62
|
+
type: 'interrupt';
|
|
63
|
+
} | {
|
|
64
|
+
type: 'success';
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* 第三方工具审批中断的响应负载(取消审批等动作)
|
|
68
|
+
*/
|
|
69
|
+
export type ToolApprovalResume = {
|
|
70
|
+
action: string;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* 用户对单个问题的回答
|
|
74
|
+
*/
|
|
75
|
+
export type UserQuestionAnswerItem = {
|
|
76
|
+
answer: UserQuestionOptionItem[];
|
|
77
|
+
multiSelect?: boolean;
|
|
78
|
+
question: string;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* 用户回答问题中断
|
|
82
|
+
*/
|
|
83
|
+
export type UserQuestionInterrupt = BaseInterrupt<InterruptReason.UserQuestion, {
|
|
84
|
+
questions: UserQuestionItem[];
|
|
85
|
+
}>;
|
|
86
|
+
/**
|
|
87
|
+
* 用户回答问题中的单个问题
|
|
88
|
+
*/
|
|
89
|
+
export type UserQuestionItem = {
|
|
90
|
+
header: string;
|
|
91
|
+
multiSelect?: boolean;
|
|
92
|
+
options?: UserQuestionOptionItem[];
|
|
93
|
+
question: string;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* 用户回答问题选项;label 为 `others` 时代表用户自定义输入,description 为输入文本
|
|
97
|
+
*/
|
|
98
|
+
export type UserQuestionOptionItem = {
|
|
99
|
+
description: string;
|
|
100
|
+
label: string;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* 用户回答问题中断响应
|
|
104
|
+
*/
|
|
105
|
+
export type UserQuestionResume = BaseResume<InterruptReason.UserQuestion, {
|
|
106
|
+
answers: UserQuestionAnswerItem[];
|
|
107
|
+
}>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { OldShortcut, Shortcut } from '../../types';
|
|
2
2
|
import type { MessageContentType, MessageRole, MessageStatus } from './constants';
|
|
3
3
|
import type { ContentMap, InputContent } from './contents';
|
|
4
|
+
import type { InterruptMessage } from './interrupt';
|
|
4
5
|
export interface ActivityMessage extends BaseMessage<MessageRole.Activity, ContentMap[MessageContentType.FlowAgent] | ContentMap[MessageContentType.KnowledgeRag] | ContentMap[MessageContentType.ReferenceDocument]> {
|
|
5
6
|
activityType: MessageContentType.FlowAgent | MessageContentType.KnowledgeRag | MessageContentType.ReferenceDocument | string;
|
|
6
7
|
}
|
|
@@ -73,6 +74,7 @@ export type MessageMap = AIBluekingMessageMap & {
|
|
|
73
74
|
[MessageRole.HiddenSystem]: HiddenSystemMessage;
|
|
74
75
|
[MessageRole.HiddenUser]: HiddenUserMessage;
|
|
75
76
|
[MessageRole.Info]: InfoMessage;
|
|
77
|
+
[MessageRole.Interrupt]: InterruptMessage;
|
|
76
78
|
[MessageRole.Loading]: LoadingMessage;
|
|
77
79
|
[MessageRole.Pause]: PauseMessage;
|
|
78
80
|
[MessageRole.Placeholder]: PlaceholderMessage;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { FromSchema } from 'json-schema-to-ts';
|
|
2
|
+
export declare const UserSingleChoiceQuestionSchema: {
|
|
3
|
+
readonly properties: {
|
|
4
|
+
readonly question: {
|
|
5
|
+
readonly enum: readonly [];
|
|
6
|
+
readonly type: "string";
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
readonly required: readonly ["question"];
|
|
10
|
+
readonly type: "object";
|
|
11
|
+
};
|
|
12
|
+
export declare const UserMultiChoiceQuestionSchema: {
|
|
13
|
+
readonly properties: {
|
|
14
|
+
readonly question: {
|
|
15
|
+
readonly items: {
|
|
16
|
+
readonly enum: readonly [];
|
|
17
|
+
readonly type: "string";
|
|
18
|
+
};
|
|
19
|
+
readonly uniqueItems: true;
|
|
20
|
+
readonly type: "array";
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
readonly required: readonly ["question"];
|
|
24
|
+
readonly type: "object";
|
|
25
|
+
};
|
|
26
|
+
export declare const UserQuestionSchema: {
|
|
27
|
+
readonly properties: {
|
|
28
|
+
readonly question: {
|
|
29
|
+
readonly items: {
|
|
30
|
+
readonly enum: readonly [];
|
|
31
|
+
readonly type: "string";
|
|
32
|
+
};
|
|
33
|
+
readonly uniqueItems: true;
|
|
34
|
+
readonly type: "array";
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
readonly required: readonly ["question"];
|
|
38
|
+
readonly type: "object";
|
|
39
|
+
};
|
|
40
|
+
export type UserMultiChoiceQuestion = FromSchema<typeof UserMultiChoiceQuestionSchema>;
|
|
41
|
+
export type UserQuestion = UserMultiChoiceQuestion;
|
|
42
|
+
export type UserSingleChoiceQuestion = FromSchema<typeof UserSingleChoiceQuestionSchema>;
|
|
@@ -6,20 +6,10 @@ type __VLS_Props = IToolBtn & {
|
|
|
6
6
|
disabled?: boolean;
|
|
7
7
|
tippyOptions?: Partial<Omit<TippyOptions, 'getReferenceClientRect' | 'triggerTarget'>>;
|
|
8
8
|
};
|
|
9
|
-
declare
|
|
10
|
-
type __VLS_Slots = {} & {
|
|
11
|
-
default?: (props: typeof __VLS_1) => any;
|
|
12
|
-
};
|
|
13
|
-
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
9
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
14
10
|
click: (data: IToolBtn, event: MouseEvent) => any;
|
|
15
11
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
16
12
|
onClick?: ((data: IToolBtn, event: MouseEvent) => any) | undefined;
|
|
17
13
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
-
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
19
14
|
declare const _default: typeof __VLS_export;
|
|
20
15
|
export default _default;
|
|
21
|
-
type __VLS_WithSlots<T, S> = T & {
|
|
22
|
-
new (): {
|
|
23
|
-
$slots: S;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { MessageStatus as MessageStatusType } from '../../../ag-ui/types/constants';
|
|
2
2
|
import type { BkFlowMessageContent } from '../../../ag-ui/types/contents';
|
|
3
|
-
import 'tippy.js/dist/tippy.css';
|
|
4
3
|
type __VLS_Props = {
|
|
5
4
|
content?: BkFlowMessageContent;
|
|
6
5
|
messageUid?: string;
|
|
@@ -5,7 +5,6 @@ type __VLS_Slots = {
|
|
|
5
5
|
};
|
|
6
6
|
declare const __VLS_base: import("vue").DefineComponent<{
|
|
7
7
|
data?: Partial<NodeDetailData>;
|
|
8
|
-
has_confidence?: boolean;
|
|
9
8
|
loading?: boolean;
|
|
10
9
|
node_id?: string;
|
|
11
10
|
node_name?: string;
|
|
@@ -15,7 +14,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
|
|
|
15
14
|
data: Partial<NodeDetailData>;
|
|
16
15
|
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
17
16
|
data?: Partial<NodeDetailData>;
|
|
18
|
-
has_confidence?: boolean;
|
|
19
17
|
loading?: boolean;
|
|
20
18
|
node_id?: string;
|
|
21
19
|
node_name?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type KeyboardPayload } from '../../../edix';
|
|
2
|
-
import type { IAiSlashMenuItem
|
|
2
|
+
import type { IAiSlashMenuItem } from '../../../types/editor';
|
|
3
3
|
import type { TagSchema } from '../../../types/input';
|
|
4
4
|
import 'tippy.js/dist/tippy.css';
|
|
5
5
|
type __VLS_Props = {
|
|
@@ -7,7 +7,6 @@ type __VLS_Props = {
|
|
|
7
7
|
placeholder?: string;
|
|
8
8
|
prompts?: string[];
|
|
9
9
|
resources?: IAiSlashMenuItem[];
|
|
10
|
-
skills?: ISkillListItem[];
|
|
11
10
|
};
|
|
12
11
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
13
12
|
cleanup: () => void;
|
|
@@ -43,7 +42,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
|
43
42
|
}>, {
|
|
44
43
|
placeholder: string;
|
|
45
44
|
prompts: string[];
|
|
46
|
-
skills: ISkillListItem[];
|
|
47
45
|
resources: IAiSlashMenuItem[];
|
|
48
46
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
49
47
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type UserMessage, MessageContentType, MessageStatus } from '../../ag-ui/types';
|
|
2
|
-
import { type AITippyProps, type IAiSlashMenuItem, type
|
|
2
|
+
import { type AITippyProps, type IAiSlashMenuItem, type Shortcut, type TagSchema, type UploadFile, UploadStatus } from '../../types';
|
|
3
3
|
export type ChatInputEmits = {
|
|
4
4
|
(e: 'selectShortcut', shortcut: Shortcut): void;
|
|
5
5
|
(e: 'deleteShortcut'): void;
|
|
@@ -18,9 +18,9 @@ export type ChatInputProps = {
|
|
|
18
18
|
placeholder?: string;
|
|
19
19
|
prompts?: string[];
|
|
20
20
|
resources?: IAiSlashMenuItem[];
|
|
21
|
+
sendDisabledTip?: string;
|
|
21
22
|
shortcutId?: string;
|
|
22
23
|
shortcuts?: Shortcut[];
|
|
23
|
-
skills?: ISkillListItem[];
|
|
24
24
|
supportUpload?: boolean;
|
|
25
25
|
tippyOptions?: AITippyProps;
|
|
26
26
|
};
|
|
@@ -29,7 +29,7 @@ type __VLS_ModelProps = {
|
|
|
29
29
|
'cite'?: string;
|
|
30
30
|
};
|
|
31
31
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
32
|
-
declare var __VLS_1: {}, __VLS_3: {},
|
|
32
|
+
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {}, __VLS_14: {
|
|
33
33
|
files: {
|
|
34
34
|
data?: string | undefined;
|
|
35
35
|
filename?: string | undefined;
|
|
@@ -51,17 +51,19 @@ declare var __VLS_1: {}, __VLS_3: {}, __VLS_12: {
|
|
|
51
51
|
} | undefined;
|
|
52
52
|
status?: UploadStatus | undefined;
|
|
53
53
|
}[];
|
|
54
|
-
},
|
|
54
|
+
}, __VLS_51: {}, __VLS_75: {};
|
|
55
55
|
type __VLS_Slots = {} & {
|
|
56
56
|
top?: (props: typeof __VLS_1) => any;
|
|
57
57
|
} & {
|
|
58
|
-
|
|
58
|
+
interrupt?: (props: typeof __VLS_3) => any;
|
|
59
59
|
} & {
|
|
60
|
-
|
|
60
|
+
'input-header'?: (props: typeof __VLS_5) => any;
|
|
61
61
|
} & {
|
|
62
|
-
|
|
62
|
+
files?: (props: typeof __VLS_14) => any;
|
|
63
63
|
} & {
|
|
64
|
-
|
|
64
|
+
attachment?: (props: typeof __VLS_51) => any;
|
|
65
|
+
} & {
|
|
66
|
+
'send-icon'?: (props: typeof __VLS_75) => any;
|
|
65
67
|
};
|
|
66
68
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
67
69
|
focus: () => void;
|
|
@@ -100,7 +102,6 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
100
102
|
}>, {
|
|
101
103
|
placeholder: string;
|
|
102
104
|
prompts: string[];
|
|
103
|
-
skills: ISkillListItem[];
|
|
104
105
|
resources: IAiSlashMenuItem[];
|
|
105
106
|
inputMaxHeight: number;
|
|
106
107
|
supportUpload: boolean;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import type { ISkillListItem } from '../../../../types/editor';
|
|
2
1
|
type __VLS_Props = {
|
|
3
|
-
|
|
4
|
-
skills: ISkillListItem[];
|
|
2
|
+
content: string;
|
|
5
3
|
};
|
|
6
4
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
5
|
declare const _default: typeof __VLS_export;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { InterruptMessage, OnInterruptResume } from '../../../ag-ui/types/interrupt';
|
|
2
|
+
import type { UserQuestionAnsweredCardSlots } from './user-question/user-question-answered-card.vue';
|
|
3
|
+
type __VLS_Slots = {
|
|
4
|
+
answeredQuestion: UserQuestionAnsweredCardSlots['answer'];
|
|
5
|
+
};
|
|
6
|
+
type __VLS_Props = Partial<InterruptMessage> & {
|
|
7
|
+
onInterruptResume?: OnInterruptResume;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AIDevToolApprovalInterrupt, OnInterruptResume } from '../../../ag-ui/types/interrupt';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
interrupt: AIDevToolApprovalInterrupt;
|
|
4
|
+
onInterruptResume?: OnInterruptResume;
|
|
5
|
+
};
|
|
6
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './use-user-question';
|
|
2
|
+
export { default as UserQuestionAnsweredCard } from './user-question-answered-card.vue';
|
|
3
|
+
export { default as UserQuestionCard } from './user-question-card.vue';
|
|
4
|
+
export { default as UserQuestionChoice } from './user-question-choice.vue';
|
|
5
|
+
export { default as UserQuestionOption } from './user-question-option.vue';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { UserQuestionAnswerItem, UserQuestionInterrupt, UserQuestionItem, UserQuestionOptionItem, UserQuestionResume } from '../../../../ag-ui/types/interrupt';
|
|
2
|
+
/** label 为该值的选项代表「Others 自定义输入」 */
|
|
3
|
+
export declare const OTHERS_OPTION_LABEL = "others";
|
|
4
|
+
/** 选项序号字母:0 -> A、1 -> B …… 超过 26 时回退为数字 */
|
|
5
|
+
export declare const toLetter: (index: number) => string;
|
|
6
|
+
/** 归一化后的展示选项(含字母序号与 Others 标记),由选择题渲染组件内部使用 */
|
|
7
|
+
export type NormalizedUserQuestionOption = UserQuestionOptionItem & {
|
|
8
|
+
isOthers: boolean;
|
|
9
|
+
letter: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* 用户回答问题(human-in-the-loop)的答案聚合与 resume payload 构建。
|
|
13
|
+
*
|
|
14
|
+
* 设计目标:composable 只负责「收集每题答案 + 完成态计算 + payload 组装」,
|
|
15
|
+
* 对「回答形态」(单选/多选/表单/任意自定义)零感知;
|
|
16
|
+
* 各题如何作答与如何校验,全部下沉到对应的渲染组件(默认为选择题),
|
|
17
|
+
* 渲染组件作答有效时回传已组装的 {@link UserQuestionAnswerItem},无效时回传 undefined。
|
|
18
|
+
*
|
|
19
|
+
* @param getInterrupt 返回当前 UserQuestion 中断的 getter(响应式)
|
|
20
|
+
*/
|
|
21
|
+
export declare const useUserQuestion: (getInterrupt: () => undefined | UserQuestionInterrupt) => {
|
|
22
|
+
questions: import("vue").ComputedRef<UserQuestionItem[]>;
|
|
23
|
+
answeredCount: import("vue").ComputedRef<number>;
|
|
24
|
+
totalCount: import("vue").ComputedRef<number>;
|
|
25
|
+
completed: import("vue").ComputedRef<boolean>;
|
|
26
|
+
getAnswer: (questionIndex: number) => undefined | UserQuestionAnswerItem;
|
|
27
|
+
setAnswer: (questionIndex: number, answer: undefined | UserQuestionAnswerItem) => void;
|
|
28
|
+
buildResolvePayload: () => UserQuestionResume;
|
|
29
|
+
buildSkipPayload: () => UserQuestionResume;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* 自由文本 resume(用户在 chat-input 直接输入而非走结构化选择)。
|
|
33
|
+
* 多题场景下信息有损:统一作为单条 Others 自由文本回传。
|
|
34
|
+
*/
|
|
35
|
+
export declare const buildUserQuestionFreeTextResume: (interrupt: UserQuestionInterrupt, text: string) => UserQuestionResume;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type VNode } from 'vue';
|
|
2
|
+
import type { UserQuestionAnswerItem } from '../../../../ag-ui/types/interrupt';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
answers: UserQuestionAnswerItem[];
|
|
5
|
+
status?: 'cancelled' | 'resolved';
|
|
6
|
+
};
|
|
7
|
+
export type UserQuestionAnsweredCardSlots = {
|
|
8
|
+
answer: (props: {
|
|
9
|
+
index: number;
|
|
10
|
+
item: UserQuestionAnswerItem;
|
|
11
|
+
status: 'cancelled' | 'resolved';
|
|
12
|
+
}) => null | undefined | VNode;
|
|
13
|
+
};
|
|
14
|
+
type __VLS_Slots = UserQuestionAnsweredCardSlots;
|
|
15
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
16
|
+
status: "cancelled" | "resolved";
|
|
17
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
19
|
+
declare const _default: typeof __VLS_export;
|
|
20
|
+
export default _default;
|
|
21
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
22
|
+
new (): {
|
|
23
|
+
$slots: S;
|
|
24
|
+
};
|
|
25
|
+
};
|
package/dist/components/chat-message/interrupt-message/user-question/user-question-card.vue.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type VNode } from 'vue';
|
|
2
|
+
import type { OnInterruptResume, UserQuestionAnswerItem, UserQuestionInterrupt, UserQuestionItem } from '../../../../ag-ui/types/interrupt';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
interrupt: UserQuestionInterrupt;
|
|
5
|
+
onResume?: OnInterruptResume;
|
|
6
|
+
};
|
|
7
|
+
export type UserQuestionCardSlots = {
|
|
8
|
+
question: (props: {
|
|
9
|
+
answer: undefined | UserQuestionAnswerItem;
|
|
10
|
+
confirm: () => void;
|
|
11
|
+
qIndex: number;
|
|
12
|
+
question: UserQuestionItem;
|
|
13
|
+
setAnswer: (answer: undefined | UserQuestionAnswerItem) => void;
|
|
14
|
+
}) => null | undefined | VNode;
|
|
15
|
+
};
|
|
16
|
+
type __VLS_Slots = UserQuestionCardSlots;
|
|
17
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
19
|
+
declare const _default: typeof __VLS_export;
|
|
20
|
+
export default _default;
|
|
21
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
22
|
+
new (): {
|
|
23
|
+
$slots: S;
|
|
24
|
+
};
|
|
25
|
+
};
|
package/dist/components/chat-message/interrupt-message/user-question/user-question-choice.vue.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { UserQuestionAnswerItem, UserQuestionItem } from '../../../../ag-ui/types/interrupt';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
question: UserQuestionItem;
|
|
4
|
+
};
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
6
|
+
answer: (answer: UserQuestionAnswerItem | undefined) => any;
|
|
7
|
+
confirm: () => any;
|
|
8
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
9
|
+
onAnswer?: ((answer: UserQuestionAnswerItem | undefined) => any) | undefined;
|
|
10
|
+
onConfirm?: (() => any) | undefined;
|
|
11
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
declare const _default: typeof __VLS_export;
|
|
13
|
+
export default _default;
|
package/dist/components/chat-message/interrupt-message/user-question/user-question-option.vue.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { NormalizedUserQuestionOption } from './use-user-question';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
option: NormalizedUserQuestionOption;
|
|
4
|
+
othersText?: string;
|
|
5
|
+
selected: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
8
|
+
select: () => any;
|
|
9
|
+
confirm: () => any;
|
|
10
|
+
"update:othersText": (value: string) => any;
|
|
11
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
+
onSelect?: (() => any) | undefined;
|
|
13
|
+
onConfirm?: (() => any) | undefined;
|
|
14
|
+
"onUpdate:othersText"?: ((value: string) => any) | undefined;
|
|
15
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
|
+
declare const _default: typeof __VLS_export;
|
|
17
|
+
export default _default;
|
|
@@ -3,7 +3,9 @@ import { RenderMode } from '../../../common';
|
|
|
3
3
|
import { type MessageGroup } from '../../../composables';
|
|
4
4
|
import { MessageToolsStatus } from '../../../types/tool';
|
|
5
5
|
import { type MessageToolsProps } from '../../message-tools/message-tools.vue';
|
|
6
|
+
import type { OnInterruptResume } from '../../../ag-ui/types/interrupt';
|
|
6
7
|
import type { IToolBtn, TagSchema } from '../../../types';
|
|
8
|
+
import type { UserQuestionAnsweredCardSlots } from '../interrupt-message/user-question/user-question-answered-card.vue';
|
|
7
9
|
export type MessageContainerEmits = {
|
|
8
10
|
(e: 'stopStreaming'): void;
|
|
9
11
|
};
|
|
@@ -16,6 +18,7 @@ export type MessageContainerProps = {
|
|
|
16
18
|
messageToolsTippyOptions?: MessageToolsProps['tippyOptions'];
|
|
17
19
|
onAgentAction?: AgentActionCallback;
|
|
18
20
|
onAgentFeedback?: AgentFeedbackCallback;
|
|
21
|
+
onInterruptResume?: OnInterruptResume;
|
|
19
22
|
onUserAction?: UserActionCallback;
|
|
20
23
|
renderMode?: RenderMode;
|
|
21
24
|
} & {
|
|
@@ -43,17 +46,21 @@ type AgentFeedbackCallback = (tool: IToolBtn, messages: Message[], reasonList: s
|
|
|
43
46
|
*/
|
|
44
47
|
type UserActionCallback = (tool: IToolBtn, message: Message) => Promise<string[] | void>;
|
|
45
48
|
type __VLS_Props = MessageContainerProps;
|
|
49
|
+
type __VLS_Slots = {
|
|
50
|
+
answeredQuestion: UserQuestionAnsweredCardSlots['answer'];
|
|
51
|
+
default: (props: {
|
|
52
|
+
message: Message;
|
|
53
|
+
messageToolsStatus?: MessageToolsStatus;
|
|
54
|
+
onInterruptResume?: OnInterruptResume;
|
|
55
|
+
}) => unknown;
|
|
56
|
+
group: (props: {
|
|
57
|
+
group: MessageGroup;
|
|
58
|
+
}) => unknown;
|
|
59
|
+
};
|
|
46
60
|
type __VLS_ModelProps = {
|
|
47
61
|
'selectedUserMessages'?: Message[];
|
|
48
62
|
};
|
|
49
63
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
50
|
-
declare var __VLS_8: {
|
|
51
|
-
message: Message;
|
|
52
|
-
messageToolsStatus: MessageToolsStatus | undefined;
|
|
53
|
-
};
|
|
54
|
-
type __VLS_Slots = {} & {
|
|
55
|
-
default?: (props: typeof __VLS_8) => any;
|
|
56
|
-
};
|
|
57
64
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
58
65
|
"update:selectedUserMessages": (value: Message[] | undefined) => any;
|
|
59
66
|
} & {
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { type VNode } from 'vue';
|
|
2
2
|
import type { Message, MessageStatus } from '../../../ag-ui/types';
|
|
3
|
+
import type { OnInterruptResume } from '../../../ag-ui/types/interrupt';
|
|
3
4
|
import type { Token } from '../../../markdown-it';
|
|
4
5
|
import type { MessageToolsProps } from '../../message-tools/message-tools.vue';
|
|
6
|
+
import type { UserQuestionAnsweredCardSlots } from '../interrupt-message/user-question/user-question-answered-card.vue';
|
|
5
7
|
import type { UserMessageActionsProps } from '../user-message/user-message.vue';
|
|
6
8
|
type __VLS_Slots = {
|
|
9
|
+
answeredQuestion: UserQuestionAnsweredCardSlots['answer'];
|
|
7
10
|
codeHeader: (props: {
|
|
8
11
|
language: string;
|
|
9
12
|
token: Token[];
|
|
@@ -15,6 +18,7 @@ type __VLS_Slots = {
|
|
|
15
18
|
};
|
|
16
19
|
type __VLS_Props = Partial<UserMessageActionsProps> & Pick<MessageToolsProps, 'onAction' | 'tippyOptions'> & {
|
|
17
20
|
message: Partial<Message>;
|
|
21
|
+
onInterruptResume?: OnInterruptResume;
|
|
18
22
|
};
|
|
19
23
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
20
24
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import ScrollBtn from './ai-buttons/scroll-btn/scroll-btn.vue';
|
|
2
|
-
import AiLoading from './ai-loading/ai-loading.vue';
|
|
3
1
|
import AiSelection from './ai-selection/ai-selection.vue';
|
|
4
2
|
import ShortcutBtn from './ai-shortcut/shortcut-btn/shortcut-btn.vue';
|
|
5
3
|
import ShortcutBtns from './ai-shortcut/shortcut-btns/shortcut-btns.vue';
|
|
6
4
|
import ShortcutRender from './ai-shortcut/shortcut-render/shortcut-render.vue';
|
|
7
5
|
import ChatContainer from './chat-container/chat-container.vue';
|
|
8
|
-
import commonErrorContent from './chat-content/common-error-content/common-error-content.vue';
|
|
9
6
|
import ContentRender from './chat-content/content-render/content-render.vue';
|
|
10
|
-
import VNodeRenderer from './chat-content/vnode-renderer';
|
|
11
7
|
import ChatInput from './chat-input/chat-input.vue';
|
|
8
|
+
export * from './chat-content';
|
|
12
9
|
import MessageContainer from './chat-message/message-container/message-container.vue';
|
|
13
10
|
import MessageRender from './chat-message/message-render/message-render.vue';
|
|
14
11
|
import ExecutionSummary from './execution-summary/execution-summary.vue';
|
|
@@ -21,5 +18,6 @@ import MessageTools from './message-tools/message-tools.vue';
|
|
|
21
18
|
import MessageUserFeedback from './message-tools/user-feedback/user-feedback.vue';
|
|
22
19
|
import SelectionFooter from './selection-footer/selection-footer.vue';
|
|
23
20
|
import ToolCallRender from './tool-call/toolcall-render/toolcall-render.vue';
|
|
21
|
+
export * from './chat-message/interrupt-message';
|
|
24
22
|
export * from './markdown-token';
|
|
25
|
-
export { AiImage,
|
|
23
|
+
export { AiImage, AiSelection, ChatContainer, ChatInput, ContentRender, ExecutionSummary, HighlightKeyword, ImagePreview, ImagePreviewGroup, MessageContainer, MessageLoading, MessageRender, MessageTools, MessageUserFeedback, SelectionFooter, ShortcutBtn, ShortcutBtns, ShortcutRender, ToolCallRender, };
|