@deep-eye/core 1.2.61 → 1.2.65
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/CHANGELOG.md +41 -0
- package/README.md +2 -1
- package/dist/components/chat/ChatBot.vue.d.ts +2 -2
- package/dist/components/chat/askUser.d.ts +81 -0
- package/dist/components/chat/askUser.d.ts.map +1 -0
- package/dist/components/chat/components/ChatMessage.vue.d.ts +2 -2
- package/dist/components/chat/components/ConversationList.vue.d.ts +8 -7
- package/dist/components/chat/components/ConversationList.vue.d.ts.map +1 -1
- package/dist/components/chat/components/MessageBubble.vue.d.ts +2 -2
- package/dist/components/chat/components/MessageBubble.vue.d.ts.map +1 -1
- package/dist/components/chat/formatToolArguments.d.ts +9 -5
- package/dist/components/chat/formatToolArguments.d.ts.map +1 -1
- package/dist/components/chat/index.d.ts +2 -2
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/chat/mdoc/AskUserForm.vue.d.ts +4 -9
- package/dist/components/chat/mdoc/AskUserForm.vue.d.ts.map +1 -1
- package/dist/components/chat/mdoc/builtInRegistry.d.ts +4 -3
- package/dist/components/chat/mdoc/builtInRegistry.d.ts.map +1 -1
- package/dist/components/chat/mdoc/extractAskForms.d.ts +3 -20
- package/dist/components/chat/mdoc/extractAskForms.d.ts.map +1 -1
- package/dist/components/chat/mdoc/index.d.ts +2 -2
- package/dist/components/chat/mdoc/index.d.ts.map +1 -1
- package/dist/components/chat/responseStream.d.ts.map +1 -1
- package/dist/components/chat/types.d.ts +14 -16
- package/dist/components/chat/types.d.ts.map +1 -1
- package/dist/index.cjs +114 -110
- package/dist/index.js +14242 -14158
- package/dist/style.css +1 -1
- package/package.json +6 -4
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,47 @@
|
|
|
2
2
|
|
|
3
3
|
`@deep-eye/core` 的用户可见变更(语义化版本)。
|
|
4
4
|
|
|
5
|
+
## [1.2.65] - 2026-08-17
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- `ChatBotExpose.hydrateHistory`:接受 GA `agent_history.messages` 原始形状,库内规范化为 `ConversationMessage[]`(steps → flat `content` / `reasoning_content` / `tool_calls`,多轮交错保留 `steps`),并默认滚到底。宿主可直接 `hydrateHistory({ messages: detail.messages, session: detail })`,无需业务侧 mapper。
|
|
10
|
+
- `ChatBotExpose.setMessages`:命令式替换当前对话。
|
|
11
|
+
- 导出 `normalizeAgentHistoryMessages` / `normalizeHistoryResourceFile` 与 `HydrateHistoryInput` 类型。
|
|
12
|
+
|
|
13
|
+
## [1.2.64] - 2026-08-17
|
|
14
|
+
|
|
15
|
+
### Breaking
|
|
16
|
+
|
|
17
|
+
- `ask_user` 全面改为结构化协议:`arguments` 为 `{ desc, questions }`(不再使用 `mdoc`)。
|
|
18
|
+
- `@action`:`source` 改为 `'ask-user'`;`answers` 为 `{ id, selected, custom? }[]`。
|
|
19
|
+
- `pendingAskFormMdoc` 重命名为 `pendingAskUser`(`AskUserPayload`)。
|
|
20
|
+
- 新增 `buildAskUserFunctionCallOutput` / `serializeAskUserOutput` 供宿主续接 `function_call_output`。
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- `AskUserForm` 直接消费 `AskUserQuestion`;正文 `{% ask-form %}` 仅在 dock 边界转为结构化模型。
|
|
25
|
+
- `ASK_USER_FORM_SYSTEM_PROMPT` 改为描述结构化 `ask_user` + `function_call_output`。
|
|
26
|
+
- 文档(`guide/advanced`、Chat demos、README)对齐新协议与宿主续接示例。
|
|
27
|
+
|
|
28
|
+
### Migration(宿主)
|
|
29
|
+
|
|
30
|
+
1. 监听 `action.source === 'ask-user'`。
|
|
31
|
+
2. 用 `buildAskUserFunctionCallOutput(action.toolCallId, action.answers)` 组装 `input`,同一 `session_id` 再调 `/generic/responses`。
|
|
32
|
+
3. 将 `pendingAskFormMdoc` 替换为 `pendingAskUser`。
|
|
33
|
+
|
|
34
|
+
## [1.2.63] - 2026-08-17
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- 发布脚本与双 registry(npmjs + Nexus)流程调整。
|
|
39
|
+
|
|
40
|
+
## [1.2.62] - 2026-08-17
|
|
41
|
+
|
|
42
|
+
### Changed
|
|
43
|
+
|
|
44
|
+
- 发布目标改为公司 Nexus:`https://nexus.yxuer.com/repository/npm-host/`。
|
|
45
|
+
|
|
5
46
|
## [1.2.61] - 2026-08-17
|
|
6
47
|
|
|
7
48
|
### Fixed
|
package/README.md
CHANGED
|
@@ -150,7 +150,7 @@ const data = {
|
|
|
150
150
|
</template>
|
|
151
151
|
```
|
|
152
152
|
|
|
153
|
-
assistant `content` 原生支持 GFM、代码高亮、KaTeX 公式、图片/视频/音频,以及组件库定义的 mdoc 标签(工件卡片、
|
|
153
|
+
assistant `content` 原生支持 GFM、代码高亮、KaTeX 公式、图片/视频/音频,以及组件库定义的 mdoc 标签(工件卡片、Chart、Action Bar)。询问用户优先走 `ask_user` tool(`arguments: { desc, questions }`);正文仍可写 `{% ask-form %}` 作兼容。将 `ARTIFACT_BLOCK_SYSTEM_PROMPT`、`ASK_USER_FORM_SYSTEM_PROMPT`、`CHART_BLOCK_SYSTEM_PROMPT` 或 `ACTION_BAR_SYSTEM_PROMPT` 加入 system prompt 可引导模型;`ChatBot` 会自动 dock Ask Form,提交后宿主用 `buildAskUserFunctionCallOutput` 续接 `function_call_output`。点击工件卡片打开侧边栏预览,消息内渲染 `{% chart %}` 与 `{% action-bar %}`。
|
|
154
154
|
|
|
155
155
|
## 进阶能力
|
|
156
156
|
|
|
@@ -160,6 +160,7 @@ assistant `content` 原生支持 GFM、代码高亮、KaTeX 公式、图片/视
|
|
|
160
160
|
- **`ConversationList`**、**`ChatQueue`**:多会话列表与可选的流式消息队列(`enableQueue` 开启后:编辑、删除、排序、终态自动出队)。
|
|
161
161
|
- **`registerToolRenderer`** / **`registerChatPreviewRenderer`**:注册自定义工具调用渲染器与附件预览渲染器。
|
|
162
162
|
- **`useConversation`**:`messages` 数组的本地状态管理(`appendMessage`、`setMessages`、`reset`),不处理网络或 SSE。
|
|
163
|
+
- **`ChatBot.hydrateHistory`** / **`normalizeAgentHistoryMessages`**:把 GA `agent_history.messages` 直接灌入对话(库内消化 steps → flat 字段),宿主无需 mapper。
|
|
163
164
|
- **`useMindMapTheme`** / **`useMindMapLayout`**:`D3MindMap` 主题与布局的组合式函数。
|
|
164
165
|
- 附件相关工具函数、`classifyChatError` 错误分类等。
|
|
165
166
|
|
|
@@ -68,8 +68,8 @@ type __VLS_Slots = {
|
|
|
68
68
|
declare const __VLS_base: import("vue").DefineComponent<ChatBotProps, ChatBotExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
69
69
|
stop: () => any;
|
|
70
70
|
copy: (payload: ChatActionbarCopyPayload) => any;
|
|
71
|
-
retry: (payload: ChatSendPayload | null, error: Error) => any;
|
|
72
71
|
action: (payload: ConversationUiAction) => any;
|
|
72
|
+
retry: (payload: ChatSendPayload | null, error: Error) => any;
|
|
73
73
|
"tool-action": (payload: ChatToolActionPayload) => any;
|
|
74
74
|
send: (payload: ChatSendPayload) => any;
|
|
75
75
|
"update:draft": (draft: string) => any;
|
|
@@ -120,8 +120,8 @@ declare const __VLS_base: import("vue").DefineComponent<ChatBotProps, ChatBotExp
|
|
|
120
120
|
}, string, import("vue").PublicProps, Readonly<ChatBotProps> & Readonly<{
|
|
121
121
|
onStop?: (() => any) | undefined;
|
|
122
122
|
onCopy?: ((payload: ChatActionbarCopyPayload) => any) | undefined;
|
|
123
|
-
onRetry?: ((payload: ChatSendPayload | null, error: Error) => any) | undefined;
|
|
124
123
|
onAction?: ((payload: ConversationUiAction) => any) | undefined;
|
|
124
|
+
onRetry?: ((payload: ChatSendPayload | null, error: Error) => any) | undefined;
|
|
125
125
|
"onTool-action"?: ((payload: ChatToolActionPayload) => any) | undefined;
|
|
126
126
|
onSend?: ((payload: ChatSendPayload) => any) | undefined;
|
|
127
127
|
"onUpdate:draft"?: ((draft: string) => any) | undefined;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { ConversationToolCall } from './types';
|
|
2
|
+
export interface AskUserOption {
|
|
3
|
+
value: string;
|
|
4
|
+
label: string;
|
|
5
|
+
/** Visual hint only; never auto-selected. */
|
|
6
|
+
recommended?: boolean;
|
|
7
|
+
description?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface AskUserQuestion {
|
|
10
|
+
id: string;
|
|
11
|
+
question: string;
|
|
12
|
+
options: AskUserOption[];
|
|
13
|
+
multi_select: boolean;
|
|
14
|
+
required: boolean;
|
|
15
|
+
/** Optional eyebrow (content-tag legacy / host override). */
|
|
16
|
+
header?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface AskUserPayload {
|
|
19
|
+
desc: string;
|
|
20
|
+
questions: AskUserQuestion[];
|
|
21
|
+
}
|
|
22
|
+
/** Per-question answer for function_call_output. */
|
|
23
|
+
export interface AskUserAnswer {
|
|
24
|
+
id: string;
|
|
25
|
+
selected: string[];
|
|
26
|
+
custom?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface AskUserOutput {
|
|
29
|
+
answers: AskUserAnswer[];
|
|
30
|
+
}
|
|
31
|
+
export interface AskUserFunctionCallOutput {
|
|
32
|
+
type: 'function_call_output';
|
|
33
|
+
call_id: string;
|
|
34
|
+
/** JSON string of {@link AskUserOutput}. */
|
|
35
|
+
output: string;
|
|
36
|
+
}
|
|
37
|
+
export type AskUserToolExtract = {
|
|
38
|
+
payload: AskUserPayload;
|
|
39
|
+
toolCallId: string;
|
|
40
|
+
};
|
|
41
|
+
export declare function isAskUserToolName(name: string): boolean;
|
|
42
|
+
/** @deprecated Prefer {@link isAskUserToolName}. */
|
|
43
|
+
export declare const isAskFormToolName: typeof isAskUserToolName;
|
|
44
|
+
export declare function normalizeAskUserQuestion(raw: Partial<AskUserQuestion> & {
|
|
45
|
+
question?: string;
|
|
46
|
+
id?: string;
|
|
47
|
+
}): AskUserQuestion | null;
|
|
48
|
+
export declare function normalizeAskUserPayload(raw: unknown): AskUserPayload | null;
|
|
49
|
+
/** True when tool arguments are structured ask_user (`desc` + `questions`). */
|
|
50
|
+
export declare function isAskUserShapedArguments(raw: string): boolean;
|
|
51
|
+
export declare function parseAskUserPayloadFromArguments(raw: string): AskUserPayload | null;
|
|
52
|
+
export declare function extractAskUserFromToolCall(call: ConversationToolCall): AskUserPayload | null;
|
|
53
|
+
/** Prefer the last ask_user tool call on the message (latest interrupt wins). */
|
|
54
|
+
export declare function extractAskUserFromToolCalls(calls: readonly ConversationToolCall[] | undefined): AskUserToolExtract | null;
|
|
55
|
+
/** @deprecated Prefer {@link extractAskUserFromToolCalls}. */
|
|
56
|
+
export declare function extractAskFormMdocFromToolCalls(calls: readonly ConversationToolCall[] | undefined): AskUserToolExtract | null;
|
|
57
|
+
export declare function filterOutAskUserToolCalls(calls: readonly ConversationToolCall[] | undefined): ConversationToolCall[];
|
|
58
|
+
/** @deprecated Prefer {@link filterOutAskUserToolCalls}. */
|
|
59
|
+
export declare const filterOutAskFormToolCalls: typeof filterOutAskUserToolCalls;
|
|
60
|
+
/**
|
|
61
|
+
* Parse assistant content `{% ask-form %}` tags into structured questions.
|
|
62
|
+
* Content tags are a docs/demo input format; the UI always uses {@link AskUserQuestion}.
|
|
63
|
+
*/
|
|
64
|
+
export declare function extractAskUserQuestionsFromContent(content: string | undefined, options?: {
|
|
65
|
+
isStreaming?: boolean;
|
|
66
|
+
}): AskUserQuestion[];
|
|
67
|
+
/** @deprecated Prefer {@link extractAskUserQuestionsFromContent}. */
|
|
68
|
+
export declare function extractAskFormNodes(content: string | undefined, options?: {
|
|
69
|
+
isStreaming?: boolean;
|
|
70
|
+
}): AskUserQuestion[];
|
|
71
|
+
/** Strip legacy `(推荐)` / `(recommended)` label suffixes used before `recommended` boolean. */
|
|
72
|
+
export declare function parseRecommendedLabelSuffix(label: string): {
|
|
73
|
+
label: string;
|
|
74
|
+
recommended: boolean;
|
|
75
|
+
};
|
|
76
|
+
export declare function serializeAskUserOutput(answers: AskUserAnswer[]): string;
|
|
77
|
+
export declare function buildAskUserFunctionCallOutput(callId: string, answers: AskUserAnswer[]): AskUserFunctionCallOutput;
|
|
78
|
+
/** Display label for history / chat bubble (not sent as tool output). */
|
|
79
|
+
export declare function formatAskUserAnswersLabel(questions: readonly AskUserQuestion[], answers: readonly AskUserAnswer[]): string;
|
|
80
|
+
export declare function isAskUserAnswerComplete(question: AskUserQuestion, answer: AskUserAnswer | undefined): boolean;
|
|
81
|
+
//# sourceMappingURL=askUser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"askUser.d.ts","sourceRoot":"","sources":["../../../src/components/chat/askUser.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,9 +59,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
59
59
|
};
|
|
60
60
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
61
61
|
copy: (payload: ChatActionbarCopyPayload) => any;
|
|
62
|
+
action: (payload: ConversationUiAction) => any;
|
|
62
63
|
feedback: (payload: ChatActionbarFeedbackPayload) => any;
|
|
63
64
|
branch: (payload: ChatActionbarBranchPayload) => any;
|
|
64
|
-
action: (payload: ConversationUiAction) => any;
|
|
65
65
|
"tool-action": (payload: ChatToolActionPayload) => any;
|
|
66
66
|
"attachment-preview": (resource: ChatResourceFile) => any;
|
|
67
67
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -103,9 +103,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
103
103
|
};
|
|
104
104
|
}>> & Readonly<{
|
|
105
105
|
onCopy?: ((payload: ChatActionbarCopyPayload) => any) | undefined;
|
|
106
|
+
onAction?: ((payload: ConversationUiAction) => any) | undefined;
|
|
106
107
|
onFeedback?: ((payload: ChatActionbarFeedbackPayload) => any) | undefined;
|
|
107
108
|
onBranch?: ((payload: ChatActionbarBranchPayload) => any) | undefined;
|
|
108
|
-
onAction?: ((payload: ConversationUiAction) => any) | undefined;
|
|
109
109
|
"onTool-action"?: ((payload: ChatToolActionPayload) => any) | undefined;
|
|
110
110
|
"onAttachment-preview"?: ((resource: ChatResourceFile) => any) | undefined;
|
|
111
111
|
}>, {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PropType } from 'vue';
|
|
2
|
+
import { type AskUserPayload } from '../askUser';
|
|
2
3
|
import { type ClassifiedChatError } from '../chatErrors';
|
|
3
4
|
import type { ChatActionbarBranchPayload, ChatActionbarCopyPayload, ChatActionbarFeedbackPayload, ChatMessageProps, ChatResourceFile, ChatToolActionPayload, ChatToolStates, AutoScrollMode, ConversationListExpose, ConversationMessage, ConversationStreamStatus, ConversationToolCall, ConversationTheme, ConversationUiAction, ToolMessage } from '../types';
|
|
4
5
|
import '../harnessProcessTokens.css';
|
|
@@ -80,16 +81,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
80
81
|
type: PropType<string[]>;
|
|
81
82
|
default: undefined;
|
|
82
83
|
};
|
|
83
|
-
|
|
84
|
-
type:
|
|
84
|
+
pendingAskUser: {
|
|
85
|
+
type: PropType<AskUserPayload | null>;
|
|
85
86
|
default: undefined;
|
|
86
87
|
};
|
|
87
88
|
}>, ConversationListExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
88
89
|
copy: (payload: ChatActionbarCopyPayload) => any;
|
|
90
|
+
action: (payload: ConversationUiAction) => any;
|
|
89
91
|
retry: () => any;
|
|
90
92
|
feedback: (payload: ChatActionbarFeedbackPayload) => any;
|
|
91
93
|
branch: (payload: ChatActionbarBranchPayload) => any;
|
|
92
|
-
action: (payload: ConversationUiAction) => any;
|
|
93
94
|
"tool-action": (payload: ChatToolActionPayload) => any;
|
|
94
95
|
"attachment-preview": (resource: ChatResourceFile) => any;
|
|
95
96
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -133,16 +134,16 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
133
134
|
type: PropType<string[]>;
|
|
134
135
|
default: undefined;
|
|
135
136
|
};
|
|
136
|
-
|
|
137
|
-
type:
|
|
137
|
+
pendingAskUser: {
|
|
138
|
+
type: PropType<AskUserPayload | null>;
|
|
138
139
|
default: undefined;
|
|
139
140
|
};
|
|
140
141
|
}>> & Readonly<{
|
|
141
142
|
onCopy?: ((payload: ChatActionbarCopyPayload) => any) | undefined;
|
|
143
|
+
onAction?: ((payload: ConversationUiAction) => any) | undefined;
|
|
142
144
|
onRetry?: (() => any) | undefined;
|
|
143
145
|
onFeedback?: ((payload: ChatActionbarFeedbackPayload) => any) | undefined;
|
|
144
146
|
onBranch?: ((payload: ChatActionbarBranchPayload) => any) | undefined;
|
|
145
|
-
onAction?: ((payload: ConversationUiAction) => any) | undefined;
|
|
146
147
|
"onTool-action"?: ((payload: ChatToolActionPayload) => any) | undefined;
|
|
147
148
|
"onAttachment-preview"?: ((resource: ChatResourceFile) => any) | undefined;
|
|
148
149
|
}>, {
|
|
@@ -155,7 +156,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
155
156
|
assistantAvatar: string;
|
|
156
157
|
followUps: string[];
|
|
157
158
|
autoScroll: AutoScrollMode;
|
|
158
|
-
|
|
159
|
+
pendingAskUser: AskUserPayload | null;
|
|
159
160
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
160
161
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
161
162
|
declare const _default: typeof __VLS_export;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationList.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ConversationList.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConversationList.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ConversationList.vue"],"names":[],"mappings":"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"}
|
|
@@ -60,9 +60,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
60
60
|
};
|
|
61
61
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
62
62
|
copy: (payload: ChatActionbarCopyPayload) => any;
|
|
63
|
+
action: (payload: ConversationUiAction) => any;
|
|
63
64
|
feedback: (payload: ChatActionbarFeedbackPayload) => any;
|
|
64
65
|
branch: (payload: ChatActionbarBranchPayload) => any;
|
|
65
|
-
action: (payload: ConversationUiAction) => any;
|
|
66
66
|
"tool-action": (payload: ChatToolActionPayload) => any;
|
|
67
67
|
"attachment-preview": (resource: ChatResourceFile) => any;
|
|
68
68
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -104,9 +104,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
104
104
|
};
|
|
105
105
|
}>> & Readonly<{
|
|
106
106
|
onCopy?: ((payload: ChatActionbarCopyPayload) => any) | undefined;
|
|
107
|
+
onAction?: ((payload: ConversationUiAction) => any) | undefined;
|
|
107
108
|
onFeedback?: ((payload: ChatActionbarFeedbackPayload) => any) | undefined;
|
|
108
109
|
onBranch?: ((payload: ChatActionbarBranchPayload) => any) | undefined;
|
|
109
|
-
onAction?: ((payload: ConversationUiAction) => any) | undefined;
|
|
110
110
|
"onTool-action"?: ((payload: ChatToolActionPayload) => any) | undefined;
|
|
111
111
|
"onAttachment-preview"?: ((resource: ChatResourceFile) => any) | undefined;
|
|
112
112
|
}>, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/MessageBubble.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MessageBubble.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/MessageBubble.vue"],"names":[],"mappings":"AAumBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AASnC,OAAO,6BAA6B,CAAA;AACpC,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EAKd,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACZ,MAAM,UAAU,CAAA;AA4CjB,KAAK,WAAW,GAAG;IACjB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAA;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,OAAO,EAAE,mBAAmB,CAAA;QAC5B,OAAO,EAAE,MAAM,CAAA;QACf,WAAW,EAAE,OAAO,CAAA;KACrB,KAAK,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAClB,OAAO,EAAE,mBAAmB,CAAA;QAC5B,MAAM,EAAE,OAAO,CAAA;QACf,UAAU,EAAE,OAAO,CAAA;QACnB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;KAC1B,KAAK,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QACb,QAAQ,EAAE,oBAAoB,CAAA;QAC9B,WAAW,CAAC,EAAE,WAAW,CAAA;QACzB,SAAS,EAAE,OAAO,CAAA;KACnB,KAAK,OAAO,CAAA;CACd,CAAC;AAorBF,QAAA,MAAM,UAAU;;cAII,QAAQ,CAAC,mBAAmB,CAAC;;;;;;;;cAQ9B,QAAQ,CAAC,SAAS,WAAW,EAAE,CAAC;;;;cAI/B,QAAQ,CAAC,iBAAiB,CAAC;;;;;;;;;;;;cAY3B,QAAQ,CAAC,cAAc,CAAC;;;;cAIzB,QAAQ,CAAC,MAAM,EAAE,CAAC;;;;;;;;;;;;;;;;cA5BjB,QAAQ,CAAC,mBAAmB,CAAC;;;;;;;;cAQ9B,QAAQ,CAAC,SAAS,WAAW,EAAE,CAAC;;;;cAI/B,QAAQ,CAAC,iBAAiB,CAAC;;;;;;;;;;;;cAY3B,QAAQ,CAAC,cAAc,CAAC;;;;cAIzB,QAAQ,CAAC,MAAM,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;4EAQnC,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* states share one layout: a single monospace block that already shows real
|
|
4
4
|
* newlines instead of jumping from `\n` escapes to pretty JSON.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* ask_user payloads (`desc` + `questions`) never dump the questions array —
|
|
7
|
+
* tool-chain UI shows only `desc`.
|
|
7
8
|
*/
|
|
8
9
|
export declare function formatToolArgumentsDisplay(raw: string): string;
|
|
9
10
|
/**
|
|
@@ -12,13 +13,16 @@ export declare function formatToolArgumentsDisplay(raw: string): string;
|
|
|
12
13
|
* stringify an already-stringified arguments payload).
|
|
13
14
|
*/
|
|
14
15
|
export declare function parseToolCallArgumentsObject(raw: string): Record<string, unknown> | null;
|
|
15
|
-
/** True when arguments look like
|
|
16
|
+
/** True when arguments look like ask_user (`questions` array). */
|
|
17
|
+
export declare function isAskUserShapedArguments(raw: string): boolean;
|
|
18
|
+
/** @deprecated Prefer {@link isAskUserShapedArguments}. */
|
|
16
19
|
export declare function isAskFormShapedArguments(raw: string): boolean;
|
|
17
20
|
/**
|
|
18
|
-
*
|
|
19
|
-
* (human label); never dump the mdoc payload.
|
|
21
|
+
* ask_user tool args are `{ desc, questions }`. Tool-chain UI shows only `desc`.
|
|
20
22
|
*/
|
|
21
|
-
export declare function
|
|
23
|
+
export declare function formatAskUserToolArgumentsDisplay(raw: string): string;
|
|
24
|
+
/** @deprecated Prefer {@link formatAskUserToolArgumentsDisplay}. */
|
|
25
|
+
export declare const formatAskFormToolArgumentsDisplay: typeof formatAskUserToolArgumentsDisplay;
|
|
22
26
|
/** Pull a completed `"field":"..."` string from incomplete streamed JSON. */
|
|
23
27
|
export declare function extractPartialJsonStringField(raw: string, field: string): string | null;
|
|
24
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatToolArguments.d.ts","sourceRoot":"","sources":["../../../src/components/chat/formatToolArguments.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"formatToolArguments.d.ts","sourceRoot":"","sources":["../../../src/components/chat/formatToolArguments.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgB9D;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAkBxF;AAED,kEAAkE;AAClE,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAED,2DAA2D;AAC3D,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQrE;AAED,oEAAoE;AACpE,eAAO,MAAM,iCAAiC,0CAAoC,CAAA;AAElF,6EAA6E;AAC7E,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASvF;AAsCD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoDlE"}
|
|
@@ -4,9 +4,9 @@ export { default as ChatBot } from './ChatBot.vue';
|
|
|
4
4
|
export * from './components';
|
|
5
5
|
export { ChatSenderAppendIcon, ChatSenderAtIcon, ChatSenderCheckIcon, ChatSenderClickIcon, ChatSenderLinkIcon, ChatSenderMicIcon, ChatSenderMicOffIcon, ChatSenderMoreIcon, } from './icons';
|
|
6
6
|
export { ACTION_BAR_SYSTEM_PROMPT, ARTIFACT_BLOCK_SYSTEM_PROMPT, ASK_USER_FORM_SYSTEM_PROMPT, CHART_BLOCK_SYSTEM_PROMPT, } from './mdoc/builtInRegistry';
|
|
7
|
-
export {
|
|
7
|
+
export { buildAskUserFunctionCallOutput, extractAskUserFromToolCall, extractAskUserFromToolCalls, extractAskUserQuestionsFromContent, filterOutAskUserToolCalls, formatAskUserAnswersLabel, isAskUserAnswerComplete, isAskUserShapedArguments, isAskUserToolName, normalizeAskUserPayload, normalizeAskUserQuestion, parseAskUserPayloadFromArguments, serializeAskUserOutput, extractAskFormNodes, extractAskFormMdocFromToolCalls, filterOutAskFormToolCalls, isAskFormToolName, } from './askUser';
|
|
8
|
+
export type { AskUserAnswer, AskUserFunctionCallOutput, AskUserOption, AskUserOutput, AskUserPayload, AskUserQuestion, AskUserToolExtract, } from './askUser';
|
|
8
9
|
export { convertReferenceMarkers } from './mdoc/referenceMarkup';
|
|
9
|
-
export type { AskFormToolMdoc } from './mdoc/extractAskForms';
|
|
10
10
|
export { ACTION_BAR_ICON_NAMES, isActionBarReady, resolveActionBarIcon, } from './mdoc/actionBarIcons';
|
|
11
11
|
export type { ActionBarIconName } from './mdoc/actionBarIcons';
|
|
12
12
|
export { CHART_TYPES, isChartType } from './mdoc/chart/schema';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA;AAClD,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,mBAAmB,EACnB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA;AAClD,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,kCAAkC,EAClC,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EAEtB,mBAAmB,EACnB,+BAA+B,EAC/B,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,aAAa,EACb,yBAAyB,EACzB,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC9D,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,mBAAmB,SAAS,CAAA;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import '../harnessProcessTokens.css';
|
|
2
|
+
import type { AskUserAnswer, AskUserQuestion } from '../askUser';
|
|
2
3
|
import type { ConversationUiAction } from '../types';
|
|
3
|
-
import type { MdocComponentNode } from './parser';
|
|
4
|
-
type AskFormDraft = {
|
|
5
|
-
value: string;
|
|
6
|
-
label?: string;
|
|
7
|
-
skipped?: boolean;
|
|
8
|
-
};
|
|
9
4
|
type __VLS_Props = {
|
|
10
|
-
|
|
5
|
+
question: AskUserQuestion;
|
|
11
6
|
questionIndex?: number;
|
|
12
7
|
questionCount?: number;
|
|
13
8
|
groupCanSubmit?: boolean;
|
|
@@ -17,14 +12,14 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
17
12
|
previous: () => any;
|
|
18
13
|
next: () => any;
|
|
19
14
|
dismiss: () => any;
|
|
20
|
-
answerChange: (payload:
|
|
15
|
+
answerChange: (payload: AskUserAnswer | null) => any;
|
|
21
16
|
submitGroup: () => any;
|
|
22
17
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
23
18
|
onAction?: ((payload: ConversationUiAction) => any) | undefined;
|
|
24
19
|
onPrevious?: (() => any) | undefined;
|
|
25
20
|
onNext?: (() => any) | undefined;
|
|
26
21
|
onDismiss?: (() => any) | undefined;
|
|
27
|
-
onAnswerChange?: ((payload:
|
|
22
|
+
onAnswerChange?: ((payload: AskUserAnswer | null) => any) | undefined;
|
|
28
23
|
onSubmitGroup?: (() => any) | undefined;
|
|
29
24
|
}>, {
|
|
30
25
|
questionIndex: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AskUserForm.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/AskUserForm.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AskUserForm.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/AskUserForm.vue"],"names":[],"mappings":"AAytBA,OAAO,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAiB,eAAe,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAIpD,KAAK,WAAW,GAAG;IACf,QAAQ,EAAE,eAAe,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;AAylBJ,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;mBA5lBE,MAAM;mBACN,MAAM;oBACL,OAAO;6EA8lB1B,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export declare const builtInRegistry: import("./registry").Registry;
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Host-side system prompt when the model itself emits ask_user tool calls.
|
|
4
|
+
* Backend-managed agents usually define the tool schema server-side — then this
|
|
5
|
+
* constant is unused.
|
|
5
6
|
*/
|
|
6
|
-
export declare const ASK_USER_FORM_SYSTEM_PROMPT:
|
|
7
|
+
export declare const ASK_USER_FORM_SYSTEM_PROMPT = "\u5F53\u9700\u8981\u7528\u6237\u4ECE\u9009\u9879\u4E2D\u9009\u62E9\u65F6\uFF0C\u8C03\u7528 ask_user tool\u3002arguments \u4E3A JSON\uFF1Adesc\uFF08\u5DE5\u5177\u94FE\u77ED\u63CF\u8FF0\uFF09+ questions\uFF081\uFF5E4 \u9898\uFF09\u3002\u7981\u6B62\u7528\u7EAF\u6587\u672C ABCD \u4EE3\u66FF\uFF0C\u4E0D\u8981\u628A\u8868\u5355\u5199\u8FDB\u52A9\u624B\u6B63\u6587\u3002\n\n\u6BCF\u9898\u5B57\u6BB5\uFF1A\n- id\uFF1A\u7A33\u5B9A\u552F\u4E00\n- question\uFF1A\u5C55\u793A\u6587\u6848\n- options\uFF1A0\uFF5E4 \u9879\uFF1B\u7A7A\u6570\u7EC4\u8868\u793A\u7EAF\u6587\u672C\u9898\u3002\u6BCF\u9879 { value, label, recommended? }\uFF1B\u6709\u9009\u9879\u65F6\u6070\u597D\u4E00\u4E2A recommended=true\uFF0C\u4E14\u63A8\u8350\u9879\u6392\u7B2C\u4E00\n- multi_select\uFF1A\u591A\u9009\u65F6 true\uFF0C\u7F3A\u7701 false\n- required\uFF1A\u7F3A\u7701 true\uFF1B\u53EF\u8DF3\u8FC7\u65F6 false\n- \u7981\u6B62\u624B\u5199\u300C\u5176\u4ED6/\u5176\u5B83/Other\u300D\u9009\u9879\u2014\u2014\u524D\u7AEF\u56FA\u5B9A\u8FFD\u52A0\u81EA\u5B9A\u4E49\u8F93\u5165\n\n\u793A\u4F8B\uFF1A\n{\n \"desc\": \"\u786E\u8BA4\u6280\u672F\u6808\",\n \"questions\": [\n {\n \"id\": \"stack\",\n \"question\": \"\u9009\u4E00\u4E2A\u6280\u672F\u6808\",\n \"options\": [\n { \"value\": \"vue\", \"label\": \"Vue\", \"recommended\": true },\n { \"value\": \"react\", \"label\": \"React\", \"recommended\": false }\n ]\n }\n ]\n}\n\n\u7528\u6237\u63D0\u4EA4\u540E\u7531\u524D\u7AEF\u4EE5 function_call_output\uFF08call_id + output JSON \u5B57\u7B26\u4E32 { answers: [{ id, selected, custom? }] }\uFF09\u7EED\u63A5\u3002";
|
|
7
8
|
/**
|
|
8
9
|
* ArtifactBlock 的 system prompt 片段。
|
|
9
10
|
* 宿主拼进 LLM system,与 ASK_USER_FORM_SYSTEM_PROMPT 一样共享同一 registry。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtInRegistry.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/builtInRegistry.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,+BA+C1B,CAAA;
|
|
1
|
+
{"version":3,"file":"builtInRegistry.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/builtInRegistry.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,+BA+C1B,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,ylDAyB8D,CAAA;AAuBtG;;;GAGG;AACH,eAAO,MAAM,4BAA4B,QAEvC,CAAA;AAoCF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAEpC,CAAA;AAeF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAEnC,CAAA"}
|
|
@@ -1,23 +1,6 @@
|
|
|
1
|
-
import { type MdocComponentNode } from './parser';
|
|
2
|
-
import type { ConversationToolCall } from '../types';
|
|
3
|
-
/** Parse message content and return complete ask-form nodes (for bottom dock). */
|
|
4
|
-
export declare function extractAskFormNodes(content: string | undefined, options?: {
|
|
5
|
-
isStreaming?: boolean;
|
|
6
|
-
}): MdocComponentNode[];
|
|
7
|
-
export declare function isAskFormToolName(name: string): boolean;
|
|
8
1
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* Unwraps double-encoded JSON arguments (stringified twice).
|
|
12
|
-
* Returns null while arguments are incomplete / unparsable JSON.
|
|
2
|
+
* @deprecated Import from `../askUser` instead. Kept as a thin re-export surface
|
|
3
|
+
* for older relative imports within mdoc/.
|
|
13
4
|
*/
|
|
14
|
-
export
|
|
15
|
-
export type AskFormToolMdoc = {
|
|
16
|
-
mdoc: string;
|
|
17
|
-
toolCallId: string;
|
|
18
|
-
};
|
|
19
|
-
/** Prefer the last ask_form tool call on the message (latest interrupt wins). */
|
|
20
|
-
export declare function extractAskFormMdocFromToolCalls(calls: readonly ConversationToolCall[] | undefined): AskFormToolMdoc | null;
|
|
21
|
-
/** @deprecated ask_form tools are shown in the tool chain with `desc`; prefer not filtering them out. */
|
|
22
|
-
export declare function filterOutAskFormToolCalls(calls: readonly ConversationToolCall[] | undefined): ConversationToolCall[];
|
|
5
|
+
export { extractAskUserQuestionsFromContent as extractAskFormNodes, extractAskUserFromToolCall as extractAskFormMdocFromToolCall, extractAskUserFromToolCalls as extractAskFormMdocFromToolCalls, filterOutAskUserToolCalls as filterOutAskFormToolCalls, isAskUserToolName as isAskFormToolName, type AskUserToolExtract as AskFormToolMdoc, } from '../askUser';
|
|
23
6
|
//# sourceMappingURL=extractAskForms.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractAskForms.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/extractAskForms.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extractAskForms.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/extractAskForms.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,kCAAkC,IAAI,mBAAmB,EACzD,0BAA0B,IAAI,8BAA8B,EAC5D,2BAA2B,IAAI,+BAA+B,EAC9D,yBAAyB,IAAI,yBAAyB,EACtD,iBAAiB,IAAI,iBAAiB,EACtC,KAAK,kBAAkB,IAAI,eAAe,GAC3C,MAAM,YAAY,CAAA"}
|
|
@@ -9,7 +9,7 @@ export { ACTION_BAR_ICON_NAMES, isActionBarReady, resolveActionBarIcon } from '.
|
|
|
9
9
|
export type { ActionBarIconName } from './actionBarIcons';
|
|
10
10
|
export { CHART_TYPES, isChartType } from './chart/schema';
|
|
11
11
|
export type { ChartType } from './chart/schema';
|
|
12
|
-
export { extractAskFormNodes, extractAskFormMdocFromToolCall, extractAskFormMdocFromToolCalls, filterOutAskFormToolCalls, isAskFormToolName, } from '
|
|
13
|
-
export type { AskFormToolMdoc } from '
|
|
12
|
+
export { extractAskUserQuestionsFromContent as extractAskFormNodes, extractAskUserFromToolCall as extractAskFormMdocFromToolCall, extractAskUserFromToolCalls as extractAskFormMdocFromToolCalls, filterOutAskUserToolCalls as filterOutAskFormToolCalls, isAskUserToolName as isAskFormToolName, } from '../askUser';
|
|
13
|
+
export type { AskUserToolExtract as AskFormToolMdoc } from '../askUser';
|
|
14
14
|
export { convertReferenceMarkers } from './referenceMarkup';
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAChG,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EACL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAChG,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EACL,kCAAkC,IAAI,mBAAmB,EACzD,0BAA0B,IAAI,8BAA8B,EAC5D,2BAA2B,IAAI,+BAA+B,EAC9D,yBAAyB,IAAI,yBAAyB,EACtD,iBAAiB,IAAI,iBAAiB,GACvC,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,kBAAkB,IAAI,eAAe,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responseStream.d.ts","sourceRoot":"","sources":["../../../src/components/chat/responseStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EAGrB,cAAc,EACd,kBAAkB,EAOlB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAqChB,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEH,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAM5D;AAED,UAAU,gBAAiB,SAAQ,qBAAqB;IACtD,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAA;CAC/E;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,CAAA;IAC9C,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;CAChC;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"responseStream.d.ts","sourceRoot":"","sources":["../../../src/components/chat/responseStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EAGrB,cAAc,EACd,kBAAkB,EAOlB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAqChB,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEH,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAM5D;AAED,UAAU,gBAAiB,SAAQ,qBAAqB;IACtD,QAAQ,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAA;CAC/E;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,CAAA;IAC9C,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;CAChC;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,CAAC,CAuTxB;AAED,sFAAsF;AACtF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,OAAO,CAqBjF;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,GAAG,gBAAgB,CAoE/F"}
|
|
@@ -364,22 +364,21 @@ export interface ChatTheme {
|
|
|
364
364
|
buttonSecondaryColor?: string;
|
|
365
365
|
}
|
|
366
366
|
export type ConversationTheme = ChatTheme;
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
question: string;
|
|
370
|
-
value: string;
|
|
371
|
-
label?: string;
|
|
372
|
-
skipped?: boolean;
|
|
373
|
-
}
|
|
367
|
+
/** @deprecated Use {@link import('./askUser').AskUserAnswer}. */
|
|
368
|
+
export type ConversationAskFormAnswer = import('./askUser').AskUserAnswer;
|
|
374
369
|
export interface ConversationUiAction {
|
|
375
370
|
type: 'submit' | 'open-artifact' | 'action-bar';
|
|
371
|
+
/** @deprecated Prefer protocol `answers` for ask-user submits. */
|
|
376
372
|
value?: string;
|
|
373
|
+
/** Human-readable summary (history / bubble); not the tool output. */
|
|
377
374
|
label?: string;
|
|
375
|
+
/** Ask-user dock submits use `'ask-user'`. */
|
|
378
376
|
source?: string;
|
|
379
377
|
formId?: string;
|
|
380
378
|
question?: string;
|
|
381
|
-
answers
|
|
382
|
-
|
|
379
|
+
/** Protocol answers for ask_user `function_call_output`. */
|
|
380
|
+
answers?: import('./askUser').AskUserAnswer[];
|
|
381
|
+
/** `call_id` from the ask_user function call — host resumes with function_call_output. */
|
|
383
382
|
toolCallId?: string;
|
|
384
383
|
artifactId?: string;
|
|
385
384
|
title?: string;
|
|
@@ -406,11 +405,10 @@ export interface ConversationListConfig {
|
|
|
406
405
|
toolStates?: ChatToolStates;
|
|
407
406
|
followUps?: string[];
|
|
408
407
|
/**
|
|
409
|
-
* Optional
|
|
410
|
-
* auto-extracting from assistant `tool_calls` / content.
|
|
411
|
-
* tool flows do not need this — the library docks from `arguments.mdoc`.
|
|
408
|
+
* Optional structured ask_user override. When set, takes priority over
|
|
409
|
+
* auto-extracting from assistant `tool_calls` / content.
|
|
412
410
|
*/
|
|
413
|
-
|
|
411
|
+
pendingAskUser?: import('./askUser').AskUserPayload | null;
|
|
414
412
|
}
|
|
415
413
|
export interface ConversationErrorSlotProps {
|
|
416
414
|
error: Error;
|
|
@@ -685,10 +683,10 @@ export interface ChatBotProps {
|
|
|
685
683
|
toolStates?: ChatToolStates;
|
|
686
684
|
followUps?: string[];
|
|
687
685
|
/**
|
|
688
|
-
* Optional
|
|
689
|
-
* Prefer leaving unset: ChatBot auto-docks from `
|
|
686
|
+
* Optional structured ask_user override (also via `conversationConfig.pendingAskUser`).
|
|
687
|
+
* Prefer leaving unset: ChatBot auto-docks from `ask_user` tool_calls.
|
|
690
688
|
*/
|
|
691
|
-
|
|
689
|
+
pendingAskUser?: import('./askUser').AskUserPayload | null;
|
|
692
690
|
}
|
|
693
691
|
export interface ChatBotExpose {
|
|
694
692
|
consume: (input: ResponseStreamSource, options?: ChatBotConsumeOptions) => Promise<void>;
|