@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/dist/mcp/index.js
CHANGED
|
File without changes
|
package/dist/mcp/server.js
CHANGED
|
@@ -35,7 +35,7 @@ function createServer() {
|
|
|
35
35
|
name: 'chat-x',
|
|
36
36
|
version: '0.1.0',
|
|
37
37
|
});
|
|
38
|
-
server.tool('list_components', '列出 @blueking/chat-x
|
|
38
|
+
server.tool('list_components', '列出 @blueking/chat-x 文档索引中的全部条目:组件、composables、指令、插件、类型、工具、edix、i18n、图标、主题等;支持按 kind 与组件能力域 domain 筛选,并返回 aiSummary', list_components_js_1.listComponentsSchema, async (args) => (0, list_components_js_1.listComponents)(args));
|
|
39
39
|
server.tool('get_component_doc', '按 slug 获取对应 Wiki 文档全文(含 AI 摘要区块与清洗后的正文);覆盖组件、composable、指令、插件、类型等所有已编入索引的条目', get_component_doc_js_1.getComponentDocSchema, async (args) => (0, get_component_doc_js_1.getComponentDoc)(args));
|
|
40
40
|
server.tool('search_docs', '在 @blueking/chat-x 已生成文档中全文检索(含名称、描述、aiSummary、关联组件 relation、正文),返回匹配条目与上下文片段', search_docs_js_1.searchDocsSchema, async (args) => (0, search_docs_js_1.searchDocs)(args));
|
|
41
41
|
return server;
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../mcp/src/server.ts"],"names":[],"mappings":";;AA+BA,oCA4BC;AA3DD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,oEAAoE;AAEpE,uEAAsF;AACtF,mEAAkF;AAClF,2DAAsE;AAEtE,SAAgB,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../mcp/src/server.ts"],"names":[],"mappings":";;AA+BA,oCA4BC;AA3DD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,oEAAoE;AAEpE,uEAAsF;AACtF,mEAAkF;AAClF,2DAAsE;AAEtE,SAAgB,YAAY;IAC1B,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,oHAAoH,EACpH,yCAAoB,EACpB,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,IAAA,mCAAc,EAAC,IAAI,CAAC,CACnC,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,6EAA6E,EAC7E,4CAAqB,EACrB,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,IAAA,sCAAe,EAAC,IAAI,CAAC,CACpC,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,+EAA+E,EAC/E,iCAAgB,EAChB,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,IAAA,2BAAU,EAAC,IAAI,CAAC,CAC/B,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const listComponentsSchema: {
|
|
3
|
-
|
|
3
|
+
kind: z.ZodDefault<z.ZodEnum<{
|
|
4
4
|
all: "all";
|
|
5
|
-
|
|
6
|
-
molecular: "molecular";
|
|
5
|
+
component: "component";
|
|
7
6
|
composable: "composable";
|
|
8
7
|
directive: "directive";
|
|
9
8
|
plugin: "plugin";
|
|
@@ -16,17 +15,19 @@ export declare const listComponentsSchema: {
|
|
|
16
15
|
}>>;
|
|
17
16
|
domain: z.ZodDefault<z.ZodEnum<{
|
|
18
17
|
all: "all";
|
|
18
|
+
setup: "setup";
|
|
19
19
|
message: "message";
|
|
20
|
+
rendering: "rendering";
|
|
20
21
|
input: "input";
|
|
21
|
-
|
|
22
|
+
agent: "agent";
|
|
23
|
+
feedback: "feedback";
|
|
22
24
|
media: "media";
|
|
23
|
-
tools: "tools";
|
|
24
25
|
helper: "helper";
|
|
25
26
|
}>>;
|
|
26
27
|
};
|
|
27
28
|
export declare function listComponents(args: {
|
|
28
|
-
category: string;
|
|
29
29
|
domain: string;
|
|
30
|
+
kind: string;
|
|
30
31
|
}): {
|
|
31
32
|
content: {
|
|
32
33
|
type: "text";
|
|
@@ -30,11 +30,10 @@ exports.listComponents = listComponents;
|
|
|
30
30
|
const zod_1 = require("zod");
|
|
31
31
|
const doc_loader_js_1 = require("../utils/doc-loader.js");
|
|
32
32
|
exports.listComponentsSchema = {
|
|
33
|
-
|
|
33
|
+
kind: zod_1.z
|
|
34
34
|
.enum([
|
|
35
35
|
'all',
|
|
36
|
-
'
|
|
37
|
-
'molecular',
|
|
36
|
+
'component',
|
|
38
37
|
'composable',
|
|
39
38
|
'directive',
|
|
40
39
|
'plugin',
|
|
@@ -46,15 +45,15 @@ exports.listComponentsSchema = {
|
|
|
46
45
|
'theme',
|
|
47
46
|
])
|
|
48
47
|
.default('all')
|
|
49
|
-
.describe('
|
|
48
|
+
.describe('过滤文档类型:all 返回全部,component 返回所有组件,其他值按 API 类型筛选'),
|
|
50
49
|
domain: zod_1.z
|
|
51
|
-
.enum(['all', 'message', 'input', '
|
|
50
|
+
.enum(['all', 'setup', 'message', 'rendering', 'input', 'agent', 'feedback', 'media', 'helper'])
|
|
52
51
|
.default('all')
|
|
53
|
-
.describe('
|
|
52
|
+
.describe('按能力域过滤(仅对 component 生效,其他 kind 不受影响)'),
|
|
54
53
|
};
|
|
55
54
|
function listComponents(args) {
|
|
56
55
|
const index = (0, doc_loader_js_1.loadIndex)();
|
|
57
|
-
const {
|
|
56
|
+
const { domain, kind } = args;
|
|
58
57
|
const result = {
|
|
59
58
|
components: [],
|
|
60
59
|
composables: [],
|
|
@@ -67,34 +66,34 @@ function listComponents(args) {
|
|
|
67
66
|
icons: [],
|
|
68
67
|
theme: [],
|
|
69
68
|
};
|
|
70
|
-
if (shouldIncludeGroup('components',
|
|
71
|
-
result.components = filterComponentEntries(index.components,
|
|
69
|
+
if (shouldIncludeGroup('components', kind)) {
|
|
70
|
+
result.components = filterComponentEntries(index.components, domain).map(mapEntry);
|
|
72
71
|
}
|
|
73
|
-
if (shouldIncludeGroup('composables',
|
|
72
|
+
if (shouldIncludeGroup('composables', kind)) {
|
|
74
73
|
result.composables = index.composables.map(mapEntry);
|
|
75
74
|
}
|
|
76
|
-
if (shouldIncludeGroup('types',
|
|
75
|
+
if (shouldIncludeGroup('types', kind)) {
|
|
77
76
|
result.types = index.types.map(mapEntry);
|
|
78
77
|
}
|
|
79
|
-
if (shouldIncludeGroup('directives',
|
|
78
|
+
if (shouldIncludeGroup('directives', kind)) {
|
|
80
79
|
result.directives = index.directives.map(mapEntry);
|
|
81
80
|
}
|
|
82
|
-
if (shouldIncludeGroup('plugins',
|
|
81
|
+
if (shouldIncludeGroup('plugins', kind)) {
|
|
83
82
|
result.plugins = index.plugins.map(mapEntry);
|
|
84
83
|
}
|
|
85
|
-
if (shouldIncludeGroup('utils',
|
|
84
|
+
if (shouldIncludeGroup('utils', kind)) {
|
|
86
85
|
result.utils = index.utils.map(mapEntry);
|
|
87
86
|
}
|
|
88
|
-
if (shouldIncludeGroup('edix',
|
|
87
|
+
if (shouldIncludeGroup('edix', kind)) {
|
|
89
88
|
result.edix = index.edix.map(mapEntry);
|
|
90
89
|
}
|
|
91
|
-
if (shouldIncludeGroup('i18n',
|
|
90
|
+
if (shouldIncludeGroup('i18n', kind)) {
|
|
92
91
|
result.i18n = index.i18n.map(mapEntry);
|
|
93
92
|
}
|
|
94
|
-
if (shouldIncludeGroup('icons',
|
|
93
|
+
if (shouldIncludeGroup('icons', kind)) {
|
|
95
94
|
result.icons = index.icons.map(mapEntry);
|
|
96
95
|
}
|
|
97
|
-
if (shouldIncludeGroup('theme',
|
|
96
|
+
if (shouldIncludeGroup('theme', kind)) {
|
|
98
97
|
result.theme = index.theme.map(mapEntry);
|
|
99
98
|
}
|
|
100
99
|
return {
|
|
@@ -106,12 +105,8 @@ function listComponents(args) {
|
|
|
106
105
|
],
|
|
107
106
|
};
|
|
108
107
|
}
|
|
109
|
-
function filterComponentEntries(entries,
|
|
108
|
+
function filterComponentEntries(entries, domain) {
|
|
110
109
|
let result = entries;
|
|
111
|
-
if (category === 'atomic')
|
|
112
|
-
result = result.filter(e => e.category === 'atomic');
|
|
113
|
-
else if (category === 'molecular')
|
|
114
|
-
result = result.filter(e => e.category === 'molecular');
|
|
115
110
|
if (domain !== 'all')
|
|
116
111
|
result = result.filter(e => (e.domain ?? 'helper') === domain);
|
|
117
112
|
return result;
|
|
@@ -120,18 +115,17 @@ function mapEntry(entry) {
|
|
|
120
115
|
return {
|
|
121
116
|
name: entry.name,
|
|
122
117
|
slug: entry.slug,
|
|
123
|
-
|
|
118
|
+
kind: entry.kind,
|
|
124
119
|
description: entry.description,
|
|
125
120
|
aiSummary: entry.aiSummary,
|
|
126
121
|
...(entry.domain !== undefined ? { domain: entry.domain } : {}),
|
|
127
122
|
};
|
|
128
123
|
}
|
|
129
|
-
function shouldIncludeGroup(groupKey,
|
|
130
|
-
if (
|
|
124
|
+
function shouldIncludeGroup(groupKey, kind) {
|
|
125
|
+
if (kind === 'all')
|
|
131
126
|
return true;
|
|
132
127
|
const single = {
|
|
133
|
-
|
|
134
|
-
molecular: 'components',
|
|
128
|
+
component: 'components',
|
|
135
129
|
composable: 'composables',
|
|
136
130
|
directive: 'directives',
|
|
137
131
|
plugin: 'plugins',
|
|
@@ -142,6 +136,6 @@ function shouldIncludeGroup(groupKey, category) {
|
|
|
142
136
|
icon: 'icons',
|
|
143
137
|
theme: 'theme',
|
|
144
138
|
};
|
|
145
|
-
return single[
|
|
139
|
+
return single[kind] === groupKey;
|
|
146
140
|
}
|
|
147
141
|
//# sourceMappingURL=list-components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-components.js","sourceRoot":"","sources":["../../../mcp/src/tools/list-components.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"list-components.js","sourceRoot":"","sources":["../../../mcp/src/tools/list-components.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-docs.js","sourceRoot":"","sources":["../../../mcp/src/tools/search-docs.ts"],"names":[],"mappings":";;;AA0CA,gCA+BC;AAzED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,6BAAwB;AAExB,0DAAuE;AAE1D,QAAA,gBAAgB,GAAG;IAC9B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACnD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;CACrD,CAAC;AAUF,SAAgB,UAAU,CAAC,IAAsC;IAC/D,MAAM,OAAO,GAAG,IAAA,6BAAa,GAAE,CAAC;IAChC,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM;QAExC,MAAM,OAAO,GAAG,IAAA,8BAAc,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC;aAC5G,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aACpB,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAE1B,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,
|
|
1
|
+
{"version":3,"file":"search-docs.js","sourceRoot":"","sources":["../../../mcp/src/tools/search-docs.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins/index.d.ts
CHANGED
package/dist/types/custom.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import type { Component } from 'vue';
|
|
|
2
2
|
export type CustomBkFlowTab = CustomTab<CustomBkFlowTabData>;
|
|
3
3
|
export type CustomBkFlowTabData = CustomTabData<{
|
|
4
4
|
data?: Partial<NodeDetailData>;
|
|
5
|
-
has_confidence?: boolean;
|
|
6
5
|
loading?: boolean;
|
|
7
6
|
node_id?: string;
|
|
8
7
|
node_name?: string;
|
package/dist/types/editor.d.ts
CHANGED
|
@@ -21,9 +21,3 @@ export declare const resourceTypeMap: {
|
|
|
21
21
|
};
|
|
22
22
|
export type ResourceType = keyof typeof resourceTypeMap;
|
|
23
23
|
export declare const noop: () => void;
|
|
24
|
-
export interface ISkillListItem {
|
|
25
|
-
description: string;
|
|
26
|
-
icon: string;
|
|
27
|
-
skill_code: string;
|
|
28
|
-
skill_name: string;
|
|
29
|
-
}
|
package/dist/types/input.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { type tagSchema } from '../components/chat-input/ai-slash-input/constants';
|
|
1
2
|
import type { BinaryInputContent } from '../ag-ui/types/contents';
|
|
2
|
-
import type { tagSchema } from '../components/chat-input/ai-slash-input/constants';
|
|
3
3
|
import type { InferDoc } from '../edix';
|
|
4
4
|
export declare const MessageState: {
|
|
5
5
|
readonly ACTIVE: "active";
|
package/dist/types/tool.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ToolIconsMap } from '../icons/tools';
|
|
2
2
|
import type { TippyOptions } from 'vue-tippy';
|
|
3
3
|
export declare enum MessageToolsStatus {
|
|
4
4
|
Disabled = "disabled",// 禁用
|
|
5
5
|
Hidden = "hidden"
|
|
6
6
|
}
|
|
7
|
-
export type AITippyProps = Partial<Pick<TippyOptions, 'appendTo' | '
|
|
7
|
+
export type AITippyProps = Partial<Pick<TippyOptions, 'appendTo' | 'zIndex'>>;
|
|
8
8
|
export interface IToolBtn {
|
|
9
9
|
description?: string;
|
|
10
|
-
id
|
|
10
|
+
id: keyof typeof ToolIconsMap;
|
|
11
11
|
name?: string;
|
|
12
12
|
}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/utils.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blueking/chat-x",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.45-beta.2",
|
|
4
4
|
"description": "蓝鲸智云 AI Chat 组件库 —— 遵循 AG-UI,为 AI Agent 和人类开发者共同设计的对话 UI 组件库。",
|
|
5
5
|
"main": "index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"prepublishOnly": "vite --config vite.config.ts build && pnpm dts && pnpm mcp:build",
|
|
8
|
+
"dev": "vite --config vite.config.ts",
|
|
9
|
+
"dts": "vue-tsc --project tsconfig.dts.json",
|
|
10
|
+
"build": "vitest && vite --config vite.config.ts build && pnpm dts",
|
|
11
|
+
"preview": "vite --config vite.config.ts build --mode preview && pnpm dts",
|
|
12
|
+
"lint:script": "eslint . --ext .vue,.ts --fix",
|
|
13
|
+
"lint:style": "stylelint \"**/*.{scss,css,vue}\" --fix",
|
|
14
|
+
"lint:all": "pnpm lint:script && pnpm lint:style",
|
|
15
|
+
"test": "vitest",
|
|
16
|
+
"test:coverage": "vitest run --coverage",
|
|
17
|
+
"wiki:dev": "vitepress dev wikis",
|
|
18
|
+
"wiki:build": "vitepress build wikis",
|
|
19
|
+
"mcp:build:index": "tsx mcp/scripts/build-index.ts",
|
|
20
|
+
"mcp:build": "tsc -p mcp/tsconfig.json && pnpm mcp:build:index",
|
|
21
|
+
"mcp:start": "node dist/mcp/index.js",
|
|
22
|
+
"mcp:dev": "tsx mcp/src/index.ts"
|
|
23
|
+
},
|
|
6
24
|
"bin": {
|
|
7
25
|
"chat-x-mcp": "dist/mcp/index.js"
|
|
8
26
|
},
|
|
@@ -50,6 +68,7 @@
|
|
|
50
68
|
"zod": "^4.3.6"
|
|
51
69
|
},
|
|
52
70
|
"devDependencies": {
|
|
71
|
+
"@blueking/chat-helper": "workspace:*",
|
|
53
72
|
"@types/katex": "^0.16.7",
|
|
54
73
|
"@types/lodash": "^4.17.23",
|
|
55
74
|
"@types/markdown-it": "^14.1.2",
|
|
@@ -63,12 +82,13 @@
|
|
|
63
82
|
"glob": "^13.0.6",
|
|
64
83
|
"gray-matter": "^4.0.3",
|
|
65
84
|
"happy-dom": "^20.3.7",
|
|
85
|
+
"json-schema-to-ts": "^3.1.1",
|
|
66
86
|
"less": "^4.4.2",
|
|
67
87
|
"linkify-it": "^5.0.0",
|
|
68
88
|
"mdurl": "^2.0.0",
|
|
69
89
|
"monaco-editor": "^0.55.1",
|
|
70
|
-
"postcss": "^8.5.9",
|
|
71
90
|
"oxc-minify": "^0.121.0",
|
|
91
|
+
"postcss": "^8.5.9",
|
|
72
92
|
"punycode.js": "^2.3.1",
|
|
73
93
|
"sass-embedded": "^1.93.3",
|
|
74
94
|
"tsx": "^4.21.0",
|
|
@@ -77,24 +97,6 @@
|
|
|
77
97
|
"vite-bundle-analyzer": "^1.3.2",
|
|
78
98
|
"vitepress": "2.0.0-alpha.16",
|
|
79
99
|
"vitest": "^4.0.18",
|
|
80
|
-
"vue-tsc": "^3.1.4"
|
|
81
|
-
"@blueking/chat-helper": "0.0.9"
|
|
82
|
-
},
|
|
83
|
-
"scripts": {
|
|
84
|
-
"dev": "vite --config vite.config.ts",
|
|
85
|
-
"dts": "vue-tsc --project tsconfig.dts.json",
|
|
86
|
-
"build": "vitest && vite --config vite.config.ts build && pnpm dts",
|
|
87
|
-
"preview": "vite --config vite.config.ts build --mode preview && pnpm dts",
|
|
88
|
-
"lint:script": "eslint . --ext .vue,.ts --fix",
|
|
89
|
-
"lint:style": "stylelint \"**/*.{scss,css,vue}\" --fix",
|
|
90
|
-
"lint:all": "pnpm lint:script && pnpm lint:style",
|
|
91
|
-
"test": "vitest",
|
|
92
|
-
"test:coverage": "vitest run --coverage",
|
|
93
|
-
"wiki:dev": "vitepress dev wikis",
|
|
94
|
-
"wiki:build": "vitepress build wikis",
|
|
95
|
-
"mcp:build:index": "tsx mcp/scripts/build-index.ts",
|
|
96
|
-
"mcp:build": "tsc -p mcp/tsconfig.json && pnpm mcp:build:index",
|
|
97
|
-
"mcp:start": "node dist/mcp/index.js",
|
|
98
|
-
"mcp:dev": "tsx mcp/src/index.ts"
|
|
100
|
+
"vue-tsc": "^3.1.4"
|
|
99
101
|
}
|
|
100
102
|
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { type VNode } from 'vue';
|
|
2
|
-
/** 归一后的执行状态 */
|
|
3
|
-
export type ConvergedState = 'failed' | 'pending' | 'running' | 'skipped' | 'success' | 'suspended';
|
|
4
|
-
/** 单个归一状态的完整定义 */
|
|
5
|
-
interface FlowStateDef {
|
|
6
|
-
/** 状态主题色,供统计标签文字与图标语义复用 */
|
|
7
|
-
color: string;
|
|
8
|
-
/** 节点状态点的边框色,缺省回退到 color(仅 pending 与主题色不同) */
|
|
9
|
-
dotColor?: string;
|
|
10
|
-
/** 状态图标(VNode);running 走 Loading 动画,故为 null */
|
|
11
|
-
icon: null | VNode;
|
|
12
|
-
/** 归一状态标识 */
|
|
13
|
-
key: ConvergedState;
|
|
14
|
-
/** 国际化标签 */
|
|
15
|
-
label: string;
|
|
16
|
-
/** 归一到该状态的后端原始状态枚举 */
|
|
17
|
-
rawStates: string[];
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* 执行状态唯一配置源(Single Source of Truth)。
|
|
21
|
-
* 新增 / 调整状态只需维护此处:归一映射、统计标签、颜色、图标均由它派生,
|
|
22
|
-
* 避免状态逻辑散落在组件与 SCSS 多处。
|
|
23
|
-
* 数组顺序即统计概览(visibleStats)的展示顺序。
|
|
24
|
-
*/
|
|
25
|
-
export declare const STATE_DEFS: FlowStateDef[];
|
|
26
|
-
/** 后端原始状态归一;未知状态回退 running(保持原有行为) */
|
|
27
|
-
export declare const getConvergedState: (rawState: string) => ConvergedState;
|
|
28
|
-
/** 状态主题色(用于统计标签文字) */
|
|
29
|
-
export declare const getStateColor: (state: ConvergedState) => string;
|
|
30
|
-
/** 节点状态点边框色 */
|
|
31
|
-
export declare const getStateDotColor: (state: ConvergedState) => string;
|
|
32
|
-
/** 取状态图标,返回克隆的 VNode 以支持多处复用;running 无图标返回 null */
|
|
33
|
-
export declare const getStateIcon: (state: ConvergedState) => null | VNode;
|
|
34
|
-
export {};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { type ComputedRef, type Ref, type VNode } from 'vue';
|
|
2
|
-
import { type ConvergedState } from './flow-agent-state';
|
|
3
|
-
import type { BkFlowMessageContent, BkFlowNode, BkFlowTask } from '../../../ag-ui/types/contents';
|
|
4
|
-
/** 节点视图模型:模板直接消费,避免重复 Object.values / 状态归一 / 时间格式化 */
|
|
5
|
-
export interface FlowNodeVM {
|
|
6
|
-
convergedState: ConvergedState;
|
|
7
|
-
dotColor: string;
|
|
8
|
-
elapsedTimeText: string;
|
|
9
|
-
id: string;
|
|
10
|
-
name: string;
|
|
11
|
-
raw: BkFlowNode;
|
|
12
|
-
}
|
|
13
|
-
/** 统计概览项视图模型 */
|
|
14
|
-
export interface FlowStatVM {
|
|
15
|
-
/** 计数文字色 */
|
|
16
|
-
color: string;
|
|
17
|
-
display: string;
|
|
18
|
-
/** 状态圆点(环)边框色,pending 等需与文字色区分时回退到独立 dotColor */
|
|
19
|
-
dotColor: string;
|
|
20
|
-
key: ConvergedState;
|
|
21
|
-
label: string;
|
|
22
|
-
}
|
|
23
|
-
/** 任务视图模型 */
|
|
24
|
-
export interface FlowTaskVM {
|
|
25
|
-
confidenceTitle?: string;
|
|
26
|
-
convergedState: ConvergedState;
|
|
27
|
-
hasConfidence: boolean;
|
|
28
|
-
isActive: boolean;
|
|
29
|
-
nodes: FlowNodeVM[];
|
|
30
|
-
raw: BkFlowTask;
|
|
31
|
-
stateIcon: null | VNode;
|
|
32
|
-
taskId: number;
|
|
33
|
-
taskName: string;
|
|
34
|
-
totalTimeText: string;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* flow-agent 视图模型 composable。
|
|
38
|
-
* 将原始 BkFlowTask[] 转换为模板友好的视图模型,并集中处理统计聚合与展开态,
|
|
39
|
-
* 纯派生逻辑(不依赖注入),便于复用与单测。
|
|
40
|
-
*/
|
|
41
|
-
export declare const useFlowAgent: (contentRef: Ref<BkFlowMessageContent | undefined>) => {
|
|
42
|
-
isTaskExpanded: (task: BkFlowTask) => boolean;
|
|
43
|
-
taskList: ComputedRef<BkFlowTask[]>;
|
|
44
|
-
toggleTaskExpanded: (task: BkFlowTask) => void;
|
|
45
|
-
viewTasks: ComputedRef<FlowTaskVM[]>;
|
|
46
|
-
visibleStats: ComputedRef<FlowStatVM[]>;
|
|
47
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { type Ref } from 'vue';
|
|
2
|
-
import type { BkFlowNode, BkFlowTask } from '../../../ag-ui/types/contents';
|
|
3
|
-
/**
|
|
4
|
-
* flow-agent 自定义 Tab 集成 composable。
|
|
5
|
-
* 收敛与 useCustomTab 的交互:选中态计算、打开节点详情 / 有效证据、
|
|
6
|
-
* 以及挂载时默认激活、卸载时清理 Tab 的生命周期。
|
|
7
|
-
*/
|
|
8
|
-
export declare const useFlowTab: (options: {
|
|
9
|
-
messageUid: Ref<string | undefined>;
|
|
10
|
-
taskList: Ref<BkFlowTask[]>;
|
|
11
|
-
}) => {
|
|
12
|
-
displaySelectedTabName: import("vue").ComputedRef<string>;
|
|
13
|
-
isNodeSelected: (task: BkFlowTask, node: BkFlowNode) => boolean;
|
|
14
|
-
isTaskSelected: (task: BkFlowTask) => boolean;
|
|
15
|
-
markUserTabSelection: () => void;
|
|
16
|
-
openConfidence: (task?: BkFlowTask) => void;
|
|
17
|
-
openNodeDetail: (task: BkFlowTask, node: BkFlowNode) => void;
|
|
18
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type MaybeRef } from 'vue';
|
|
2
|
-
/**
|
|
3
|
-
* 将传入的目标元素以浏览器原生全屏方式展示。
|
|
4
|
-
*
|
|
5
|
-
* @param target 需要全屏的目标元素(支持 ref);缺省时回退到 document.documentElement。
|
|
6
|
-
* @returns
|
|
7
|
-
* - `isSupported` 当前环境是否支持全屏
|
|
8
|
-
* - `isFullScreen` 只读响应式状态,始终与真实全屏同步(含用户按 ESC 退出)
|
|
9
|
-
* - `enter` / `exit` / `toggle` 控制方法
|
|
10
|
-
*/
|
|
11
|
-
export declare const useFullScreen: (target?: MaybeRef<HTMLElement | null>) => {
|
|
12
|
-
isSupported: boolean;
|
|
13
|
-
isFullScreen: Readonly<import("vue").Ref<boolean, boolean>>;
|
|
14
|
-
enter: () => Promise<void>;
|
|
15
|
-
exit: () => Promise<void>;
|
|
16
|
-
toggle: () => Promise<void>;
|
|
17
|
-
};
|
package/dist/icons/screen.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare const FullScreenIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
2
|
-
[key: string]: any;
|
|
3
|
-
}>;
|
|
4
|
-
export declare const UnFullScreenIcon: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
5
|
-
[key: string]: any;
|
|
6
|
-
}>;
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
<!-- AI SUMMARY -->
|
|
2
|
-
## 快速了解
|
|
3
|
-
|
|
4
|
-
useFullScreen 将目标元素(或 document.documentElement)以浏览器原生全屏展示。 模块加载时一次性嗅探 requestFullscreen / webkitRequestFullscreen,返回 isSupported、只读 isFullScreen 与 enter/exit/toggle。 监听 fullscreenchange 同步 ESC 等外部退出;ChatContainer 侧栏全屏按钮使用此 composable。
|
|
5
|
-
|
|
6
|
-
### 关联组件
|
|
7
|
-
- **chat-container** — 侧栏 .ai-full-screen-wrapper 全屏切换
|
|
8
|
-
- **tool-btn** — 全屏按钮通过插槽渲染 FullScreenIcon
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
<!-- FULL DOC -->
|
|
12
|
-
|
|
13
|
-
# useFullScreen 全屏控制
|
|
14
|
-
|
|
15
|
-
> **分类**:composable
|
|
16
|
-
|
|
17
|
-
基于浏览器原生 Fullscreen API 的全屏控制组合式函数。模块加载时一次性嗅探标准 API 与 `webkit` 前缀(兼容旧版 Safari),在组件作用域销毁时自动移除事件监听。
|
|
18
|
-
|
|
19
|
-
## 工作原理
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
useFullScreen(target?)
|
|
23
|
-
│
|
|
24
|
-
├── resolveFullscreenApi()(模块级,仅执行一次)
|
|
25
|
-
│ requestFullscreen / webkitRequestFullscreen
|
|
26
|
-
│
|
|
27
|
-
├── isSupported = !!fullscreenApi
|
|
28
|
-
├── isFullScreen(readonly shallowRef,与浏览器真实状态同步)
|
|
29
|
-
│
|
|
30
|
-
├── enter() → target.requestFullscreen()
|
|
31
|
-
├── exit() → document.exitFullscreen()
|
|
32
|
-
├── toggle() → isFullScreen ? exit() : enter()
|
|
33
|
-
│
|
|
34
|
-
└── document.addEventListener(fullscreenchange, syncState)
|
|
35
|
-
syncState:指定 target 时,仅当 fullscreenElement === target 视为全屏
|
|
36
|
-
onScopeDispose 时移除监听
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
> **注意**:`enter()` 可能因缺少用户手势等原因被浏览器拒绝,内部会静默捕获异常,避免未处理的 Promise rejection。
|
|
40
|
-
|
|
41
|
-
## 基础用法
|
|
42
|
-
|
|
43
|
-
```vue
|
|
44
|
-
<template>
|
|
45
|
-
<div>
|
|
46
|
-
<div ref="panelRef" class="demo-panel">
|
|
47
|
-
<p>可全屏展示的面板内容</p>
|
|
48
|
-
</div>
|
|
49
|
-
<button :disabled="!isSupported" @click="enter">进入全屏</button>
|
|
50
|
-
<button :disabled="!isFullScreen" @click="exit">退出全屏</button>
|
|
51
|
-
<span>当前状态:{{ isFullScreen ? '全屏' : '窗口' }}</span>
|
|
52
|
-
</div>
|
|
53
|
-
</template>
|
|
54
|
-
|
|
55
|
-
<script setup lang="ts">
|
|
56
|
-
import { useTemplateRef } from 'vue';
|
|
57
|
-
import { useFullScreen } from '@blueking/chat-x';
|
|
58
|
-
|
|
59
|
-
const panelRef = useTemplateRef<HTMLElement>('panelRef');
|
|
60
|
-
const { isSupported, isFullScreen, enter, exit } = useFullScreen(panelRef);
|
|
61
|
-
</script>
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## 在 ChatContainer 中的使用
|
|
65
|
-
|
|
66
|
-
`ChatContainer` 将侧栏包裹在 `.ai-full-screen-wrapper` 中,通过 `useFullScreen(fullScreenRef)` 控制侧栏全屏;Tab 栏 `#setting` 插槽内的 `ToolBtn` 使用自定义插槽渲染 `FullScreenIcon` / `UnFullScreenIcon`。
|
|
67
|
-
|
|
68
|
-
详见 [ChatContainer 侧栏全屏](../components/molecular/chat-container.md#侧栏全屏)。
|
|
69
|
-
|
|
70
|
-
## API
|
|
71
|
-
|
|
72
|
-
### 参数
|
|
73
|
-
|
|
74
|
-
| 参数名 | 类型 | 默认值 | 说明 |
|
|
75
|
-
| ------ | ---- | ------ | ---- |
|
|
76
|
-
| target | `MaybeRef<HTMLElement \| null>` | — | 需要全屏的目标元素;省略时回退到 `document.documentElement` |
|
|
77
|
-
|
|
78
|
-
### 返回值
|
|
79
|
-
|
|
80
|
-
| 属性名 | 类型 | 说明 |
|
|
81
|
-
| ------ | ---- | ---- |
|
|
82
|
-
| isSupported | `boolean` | 当前环境是否支持 Fullscreen API(SSR 或不支持时为 `false`) |
|
|
83
|
-
| isFullScreen | `Readonly<ShallowRef<boolean>>` | 只读响应式全屏状态;与浏览器真实状态同步(含 ESC 退出) |
|
|
84
|
-
| enter | `() => Promise<void>` | 进入全屏;已全屏或不受支持时无操作 |
|
|
85
|
-
| exit | `() => Promise<void>` | 退出全屏;当前无全屏元素时无操作 |
|
|
86
|
-
| toggle | `() => void` | 切换全屏状态 |
|
|
87
|
-
|
|
88
|
-
## 类型定义
|
|
89
|
-
|
|
90
|
-
```typescript
|
|
91
|
-
import { useFullScreen } from '@blueking/chat-x';
|
|
92
|
-
import type { MaybeRef, Readonly, ShallowRef } from 'vue';
|
|
93
|
-
|
|
94
|
-
type UseFullScreenReturn = {
|
|
95
|
-
isSupported: boolean;
|
|
96
|
-
isFullScreen: Readonly<ShallowRef<boolean>>;
|
|
97
|
-
enter: () => Promise<void>;
|
|
98
|
-
exit: () => Promise<void>;
|
|
99
|
-
toggle: () => void;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
// 调用签名
|
|
103
|
-
declare function useFullScreen(target?: MaybeRef<HTMLElement | null>): UseFullScreenReturn;
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
## 使用场景
|
|
107
|
-
|
|
108
|
-
- `ChatContainer` 侧栏执行情况 / 自定义 Tab 区域全屏查看
|
|
109
|
-
- 任意需要将局部 DOM 区域以浏览器原生全屏展示的交互面板
|
|
110
|
-
|
|
111
|
-
## 关联组件
|
|
112
|
-
|
|
113
|
-
- [ChatContainer](../components/molecular/chat-container.md) — 内置侧栏全屏按钮
|
|
114
|
-
- [ToolBtn](../components/atomic/tool-btn.md) — 全屏按钮自定义插槽
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 蓝鲸行内富文本(安全样式)扩展。
|
|
3
|
-
*
|
|
4
|
-
* 语法(与 HTML 无关,不开启 markdown-it `html`):
|
|
5
|
-
*
|
|
6
|
-
* ::bk{ 属性列表 } 正文内容 :/bk::
|
|
7
|
-
*
|
|
8
|
-
* - 属性列表:写在 `{}` 内,使用 `;` 分隔,每项为 `键=值` 或 `键:值`(等号与冒号等价)。
|
|
9
|
-
* - 正文:支持行内 Markdown(加粗、链接、行内代码等),由 markdown-it 再次 tokenize。
|
|
10
|
-
* - 结束标记固定为 `:/bk::`,请勿在正文中使用该字面量。
|
|
11
|
-
*
|
|
12
|
-
* 支持的键(仅生成固定白名单 style):
|
|
13
|
-
* - `color` / `c`:颜色(#rgb / #rrggbb 或 CSS 命名色)
|
|
14
|
-
* - `background-color`:背景色,规则同 color
|
|
15
|
-
* - `font-size`:字号,如 `14px`(限制 1-72px)
|
|
16
|
-
* - `bold`:加粗
|
|
17
|
-
* - `italic`:斜体
|
|
18
|
-
*/
|
|
19
|
-
import type { PluginSimple } from '../markdown-it';
|
|
20
|
-
export declare const markdownItBkInlineStyle: PluginSimple;
|