@chenzy-design/core 0.3.1 → 0.4.0
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/dist/ai-chat-dialogue.d.ts +300 -0
- package/dist/ai-chat-dialogue.d.ts.map +1 -0
- package/dist/ai-chat-dialogue.js +699 -0
- package/dist/ai-chat-dialogue.js.map +1 -0
- package/dist/ai-chat-dialogue.test.d.ts +2 -0
- package/dist/ai-chat-dialogue.test.d.ts.map +1 -0
- package/dist/ai-chat-dialogue.test.js +338 -0
- package/dist/ai-chat-dialogue.test.js.map +1 -0
- package/dist/ai-chat-input.d.ts +191 -0
- package/dist/ai-chat-input.d.ts.map +1 -0
- package/dist/ai-chat-input.js +274 -0
- package/dist/ai-chat-input.js.map +1 -0
- package/dist/ai-chat-input.test.d.ts +2 -0
- package/dist/ai-chat-input.test.d.ts.map +1 -0
- package/dist/ai-chat-input.test.js +339 -0
- package/dist/ai-chat-input.test.js.map +1 -0
- package/dist/audio-player.d.ts +154 -0
- package/dist/audio-player.d.ts.map +1 -0
- package/dist/audio-player.js +254 -0
- package/dist/audio-player.js.map +1 -0
- package/dist/audio-player.test.d.ts +2 -0
- package/dist/audio-player.test.d.ts.map +1 -0
- package/dist/audio-player.test.js +275 -0
- package/dist/audio-player.test.js.map +1 -0
- package/dist/back-top.d.ts +4 -1
- package/dist/back-top.d.ts.map +1 -1
- package/dist/back-top.js +5 -2
- package/dist/back-top.js.map +1 -1
- package/dist/back-top.test.js +3 -2
- package/dist/back-top.test.js.map +1 -1
- package/dist/calendar.d.ts +132 -44
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.js +413 -70
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.test.js +160 -76
- package/dist/calendar.test.js.map +1 -1
- package/dist/chat.d.ts +172 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +210 -0
- package/dist/chat.js.map +1 -0
- package/dist/chat.test.d.ts +2 -0
- package/dist/chat.test.d.ts.map +1 -0
- package/dist/chat.test.js +181 -0
- package/dist/chat.test.js.map +1 -0
- package/dist/code-highlight.d.ts +30 -0
- package/dist/code-highlight.d.ts.map +1 -0
- package/dist/code-highlight.js +37 -0
- package/dist/code-highlight.js.map +1 -0
- package/dist/code-highlight.test.d.ts +2 -0
- package/dist/code-highlight.test.d.ts.map +1 -0
- package/dist/code-highlight.test.js +36 -0
- package/dist/code-highlight.test.js.map +1 -0
- package/dist/collapsible.d.ts +41 -0
- package/dist/collapsible.d.ts.map +1 -0
- package/dist/collapsible.js +33 -0
- package/dist/collapsible.js.map +1 -0
- package/dist/collapsible.test.d.ts +2 -0
- package/dist/collapsible.test.d.ts.map +1 -0
- package/dist/collapsible.test.js +57 -0
- package/dist/collapsible.test.js.map +1 -0
- package/dist/color-value.d.ts +60 -0
- package/dist/color-value.d.ts.map +1 -0
- package/dist/color-value.js +165 -0
- package/dist/color-value.js.map +1 -0
- package/dist/color-value.test.d.ts +2 -0
- package/dist/color-value.test.d.ts.map +1 -0
- package/dist/color-value.test.js +104 -0
- package/dist/color-value.test.js.map +1 -0
- package/dist/config-provider.d.ts +76 -37
- package/dist/config-provider.d.ts.map +1 -1
- package/dist/config-provider.js +107 -32
- package/dist/config-provider.js.map +1 -1
- package/dist/config-provider.test.js +123 -60
- package/dist/config-provider.test.js.map +1 -1
- package/dist/cropper.d.ts +164 -0
- package/dist/cropper.d.ts.map +1 -0
- package/dist/cropper.js +841 -0
- package/dist/cropper.js.map +1 -0
- package/dist/cropper.test.d.ts +2 -0
- package/dist/cropper.test.d.ts.map +1 -0
- package/dist/cropper.test.js +259 -0
- package/dist/cropper.test.js.map +1 -0
- package/dist/drag-move.d.ts +119 -0
- package/dist/drag-move.d.ts.map +1 -0
- package/dist/drag-move.js +237 -0
- package/dist/drag-move.js.map +1 -0
- package/dist/drag-move.test.d.ts +2 -0
- package/dist/drag-move.test.d.ts.map +1 -0
- package/dist/drag-move.test.js +304 -0
- package/dist/drag-move.test.js.map +1 -0
- package/dist/editable.d.ts +24 -4
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +18 -0
- package/dist/editable.js.map +1 -1
- package/dist/editable.test.js +55 -2
- package/dist/editable.test.js.map +1 -1
- package/dist/ellipsis.d.ts +13 -0
- package/dist/ellipsis.d.ts.map +1 -1
- package/dist/ellipsis.js +36 -0
- package/dist/ellipsis.js.map +1 -1
- package/dist/ellipsis.test.js +37 -1
- package/dist/ellipsis.test.js.map +1 -1
- package/dist/form-path.d.ts +19 -0
- package/dist/form-path.d.ts.map +1 -0
- package/dist/form-path.js +97 -0
- package/dist/form-path.js.map +1 -0
- package/dist/form-path.test.d.ts +2 -0
- package/dist/form-path.test.d.ts.map +1 -0
- package/dist/form-path.test.js +57 -0
- package/dist/form-path.test.js.map +1 -0
- package/dist/form-validate.d.ts +13 -0
- package/dist/form-validate.d.ts.map +1 -0
- package/dist/form-validate.js +204 -0
- package/dist/form-validate.js.map +1 -0
- package/dist/form.d.ts +91 -18
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +170 -115
- package/dist/form.js.map +1 -1
- package/dist/form.test.js +349 -76
- package/dist/form.test.js.map +1 -1
- package/dist/highlight.d.ts +42 -32
- package/dist/highlight.d.ts.map +1 -1
- package/dist/highlight.js +67 -41
- package/dist/highlight.js.map +1 -1
- package/dist/highlight.test.js +73 -32
- package/dist/highlight.test.js.map +1 -1
- package/dist/hotkeys.d.ts +151 -0
- package/dist/hotkeys.d.ts.map +1 -0
- package/dist/hotkeys.js +188 -0
- package/dist/hotkeys.js.map +1 -0
- package/dist/hotkeys.test.d.ts +2 -0
- package/dist/hotkeys.test.d.ts.map +1 -0
- package/dist/hotkeys.test.js +170 -0
- package/dist/hotkeys.test.js.map +1 -0
- package/dist/index.d.ts +33 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -13
- package/dist/index.js.map +1 -1
- package/dist/input.d.ts +34 -0
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +54 -0
- package/dist/input.js.map +1 -0
- package/dist/input.test.d.ts +2 -0
- package/dist/input.test.d.ts.map +1 -0
- package/dist/input.test.js +56 -0
- package/dist/input.test.js.map +1 -0
- package/dist/markdown-render.d.ts +49 -0
- package/dist/markdown-render.d.ts.map +1 -0
- package/dist/markdown-render.js +61 -0
- package/dist/markdown-render.js.map +1 -0
- package/dist/markdown-render.test.d.ts +2 -0
- package/dist/markdown-render.test.d.ts.map +1 -0
- package/dist/markdown-render.test.js +106 -0
- package/dist/markdown-render.test.js.map +1 -0
- package/dist/notification.d.ts +40 -31
- package/dist/notification.d.ts.map +1 -1
- package/dist/notification.js +86 -70
- package/dist/notification.js.map +1 -1
- package/dist/notification.test.js +62 -39
- package/dist/notification.test.js.map +1 -1
- package/dist/numeral.d.ts +32 -0
- package/dist/numeral.d.ts.map +1 -0
- package/dist/numeral.js +67 -0
- package/dist/numeral.js.map +1 -0
- package/dist/numeral.test.d.ts +2 -0
- package/dist/numeral.test.d.ts.map +1 -0
- package/dist/numeral.test.js +59 -0
- package/dist/numeral.test.js.map +1 -0
- package/dist/overflow-list.d.ts +9 -40
- package/dist/overflow-list.d.ts.map +1 -1
- package/dist/overflow-list.js +9 -70
- package/dist/overflow-list.js.map +1 -1
- package/dist/overflow-list.test.js +1 -122
- package/dist/overflow-list.test.js.map +1 -1
- package/dist/pagination.d.ts +17 -0
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js +48 -0
- package/dist/pagination.js.map +1 -1
- package/dist/pagination.test.js +40 -1
- package/dist/pagination.test.js.map +1 -1
- package/dist/pincode.d.ts +79 -0
- package/dist/pincode.d.ts.map +1 -0
- package/dist/pincode.js +119 -0
- package/dist/pincode.js.map +1 -0
- package/dist/pincode.test.d.ts +2 -0
- package/dist/pincode.test.d.ts.map +1 -0
- package/dist/pincode.test.js +151 -0
- package/dist/pincode.test.js.map +1 -0
- package/dist/progress.d.ts +32 -30
- package/dist/progress.d.ts.map +1 -1
- package/dist/progress.js +257 -64
- package/dist/progress.js.map +1 -1
- package/dist/progress.test.js +50 -47
- package/dist/progress.test.js.map +1 -1
- package/dist/resizable.d.ts +200 -0
- package/dist/resizable.d.ts.map +1 -0
- package/dist/resizable.js +329 -0
- package/dist/resizable.js.map +1 -0
- package/dist/resizable.test.d.ts +2 -0
- package/dist/resizable.test.d.ts.map +1 -0
- package/dist/resizable.test.js +302 -0
- package/dist/resizable.test.js.map +1 -0
- package/dist/scroll-list.d.ts +69 -62
- package/dist/scroll-list.d.ts.map +1 -1
- package/dist/scroll-list.js +103 -144
- package/dist/scroll-list.js.map +1 -1
- package/dist/scroll-list.test.js +100 -110
- package/dist/scroll-list.test.js.map +1 -1
- package/dist/sidebar.d.ts +46 -0
- package/dist/sidebar.d.ts.map +1 -0
- package/dist/sidebar.js +65 -0
- package/dist/sidebar.js.map +1 -0
- package/dist/sidebar.test.d.ts +2 -0
- package/dist/sidebar.test.d.ts.map +1 -0
- package/dist/sidebar.test.js +88 -0
- package/dist/sidebar.test.js.map +1 -0
- package/dist/spin.d.ts +5 -5
- package/dist/spin.d.ts.map +1 -1
- package/dist/spin.js +13 -39
- package/dist/spin.js.map +1 -1
- package/dist/spin.test.js +2 -26
- package/dist/spin.test.js.map +1 -1
- package/dist/toast.d.ts +33 -30
- package/dist/toast.d.ts.map +1 -1
- package/dist/toast.js +77 -72
- package/dist/toast.js.map +1 -1
- package/dist/toast.test.js +63 -37
- package/dist/toast.test.js.map +1 -1
- package/dist/tree.d.ts +22 -5
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +61 -9
- package/dist/tree.js.map +1 -1
- package/dist/tree.test.js +72 -1
- package/dist/tree.test.js.map +1 -1
- package/dist/user-guide.d.ts +73 -0
- package/dist/user-guide.d.ts.map +1 -0
- package/dist/user-guide.js +95 -0
- package/dist/user-guide.js.map +1 -0
- package/dist/user-guide.test.d.ts +2 -0
- package/dist/user-guide.test.d.ts.map +1 -0
- package/dist/user-guide.test.js +109 -0
- package/dist/user-guide.test.js.map +1 -0
- package/dist/video-player.d.ts +196 -0
- package/dist/video-player.d.ts.map +1 -0
- package/dist/video-player.js +461 -0
- package/dist/video-player.js.map +1 -0
- package/dist/video-player.test.d.ts +2 -0
- package/dist/video-player.test.d.ts.map +1 -0
- package/dist/video-player.test.js +435 -0
- package/dist/video-player.test.js.map +1 -0
- package/package.json +17 -1
- package/dist/banner.d.ts +0 -19
- package/dist/banner.d.ts.map +0 -1
- package/dist/banner.js +0 -20
- package/dist/banner.js.map +0 -1
- package/dist/banner.test.d.ts +0 -2
- package/dist/banner.test.d.ts.map +0 -1
- package/dist/banner.test.js +0 -29
- package/dist/banner.test.js.map +0 -1
- package/dist/breakpoints.d.ts +0 -30
- package/dist/breakpoints.d.ts.map +0 -1
- package/dist/breakpoints.js +0 -45
- package/dist/breakpoints.js.map +0 -1
- package/dist/breakpoints.test.d.ts +0 -2
- package/dist/breakpoints.test.d.ts.map +0 -1
- package/dist/breakpoints.test.js +0 -46
- package/dist/breakpoints.test.js.map +0 -1
- package/dist/lottie-icon.d.ts +0 -88
- package/dist/lottie-icon.d.ts.map +0 -1
- package/dist/lottie-icon.js +0 -84
- package/dist/lottie-icon.js.map +0 -1
- package/dist/lottie-icon.test.d.ts +0 -2
- package/dist/lottie-icon.test.d.ts.map +0 -1
- package/dist/lottie-icon.test.js +0 -88
- package/dist/lottie-icon.test.js.map +0 -1
- package/dist/sider.d.ts +0 -26
- package/dist/sider.d.ts.map +0 -1
- package/dist/sider.js +0 -55
- package/dist/sider.js.map +0 -1
- package/dist/sider.test.d.ts +0 -2
- package/dist/sider.test.d.ts.map +0 -1
- package/dist/sider.test.js +0 -29
- package/dist/sider.test.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-chat-dialogue.js","sourceRoot":"","sources":["../src/ai-chat-dialogue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-chat-dialogue.test.d.ts","sourceRoot":"","sources":["../src/ai-chat-dialogue.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { describe, it, expect } from 'vitest';
|
|
3
|
+
import { responseToMessage, chatCompletionToMessage, streamingResponseToMessage, streamingChatCompletionToMessage, dialogueMessageToInput, formatToolArguments, toolCallStatus, toolCallView, contentItemType, normalizeDialogueContent, } from './ai-chat-dialogue.js';
|
|
4
|
+
describe('ai-chat-dialogue · responseToMessage', () => {
|
|
5
|
+
it('Response Object → assistant Message,output 作为 content', () => {
|
|
6
|
+
const resp = {
|
|
7
|
+
id: 'resp_1',
|
|
8
|
+
model: 'gpt-5',
|
|
9
|
+
status: 'completed',
|
|
10
|
+
created_at: 1234,
|
|
11
|
+
output_text: 'hello',
|
|
12
|
+
output: [{ type: 'message', content: [{ type: 'output_text', text: 'hello' }] }],
|
|
13
|
+
};
|
|
14
|
+
const msg = responseToMessage(resp);
|
|
15
|
+
expect(msg.id).toBe('resp_1');
|
|
16
|
+
expect(msg.role).toBe('assistant');
|
|
17
|
+
expect(msg.status).toBe('completed');
|
|
18
|
+
expect(msg.model).toBe('gpt-5');
|
|
19
|
+
expect(msg.output_text).toBe('hello');
|
|
20
|
+
expect(Array.isArray(msg.content)).toBe(true);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
describe('ai-chat-dialogue · chatCompletionToMessage', () => {
|
|
24
|
+
it('单 choice text → 一条 Message,含 output_text 块', () => {
|
|
25
|
+
const cc = {
|
|
26
|
+
id: 'cc_1',
|
|
27
|
+
choices: [{ message: { role: 'assistant', content: 'hi there', refusal: '' } }],
|
|
28
|
+
};
|
|
29
|
+
const msgs = chatCompletionToMessage(cc);
|
|
30
|
+
expect(msgs).toHaveLength(1);
|
|
31
|
+
expect(msgs[0].id).toBe('cc_1');
|
|
32
|
+
expect(msgs[0].status).toBe('completed');
|
|
33
|
+
const content = msgs[0].content;
|
|
34
|
+
expect(content[0].type).toBe('message');
|
|
35
|
+
const inner = content[0].content;
|
|
36
|
+
expect(inner[0].type).toBe('output_text');
|
|
37
|
+
expect(inner[0].text).toBe('hi there');
|
|
38
|
+
});
|
|
39
|
+
it('多 choice(n>1)→ 多条 Message', () => {
|
|
40
|
+
const cc = {
|
|
41
|
+
id: 'cc_2',
|
|
42
|
+
choices: [
|
|
43
|
+
{ message: { role: 'assistant', content: 'a', refusal: '' } },
|
|
44
|
+
{ message: { role: 'assistant', content: 'b', refusal: '' } },
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
expect(chatCompletionToMessage(cc)).toHaveLength(2);
|
|
48
|
+
});
|
|
49
|
+
it('annotations 映射到 output_text.annotations', () => {
|
|
50
|
+
const cc = {
|
|
51
|
+
id: 'cc_3',
|
|
52
|
+
choices: [
|
|
53
|
+
{
|
|
54
|
+
message: {
|
|
55
|
+
role: 'assistant',
|
|
56
|
+
content: 'see source',
|
|
57
|
+
refusal: '',
|
|
58
|
+
annotations: [{ type: 'url_citation', url_citation: { url: 'https://x.com', title: 'X' } }],
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
};
|
|
63
|
+
const content = chatCompletionToMessage(cc)[0].content;
|
|
64
|
+
const outputText = content[0].content[0];
|
|
65
|
+
expect(outputText.annotations[0].url).toBe('https://x.com');
|
|
66
|
+
});
|
|
67
|
+
it('function_call → function_call 块', () => {
|
|
68
|
+
const cc = {
|
|
69
|
+
id: 'cc_4',
|
|
70
|
+
choices: [
|
|
71
|
+
{
|
|
72
|
+
message: {
|
|
73
|
+
role: 'assistant',
|
|
74
|
+
content: '',
|
|
75
|
+
refusal: '',
|
|
76
|
+
function_call: { name: 'get_weather', arguments: '{"city":"SF"}' },
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
const content = chatCompletionToMessage(cc)[0].content;
|
|
82
|
+
const fc = content.find((c) => c.type === 'function_call');
|
|
83
|
+
expect(fc).toBeDefined();
|
|
84
|
+
expect(fc.name).toBe('get_weather');
|
|
85
|
+
expect(fc.status).toBe('completed');
|
|
86
|
+
});
|
|
87
|
+
it('tool_calls(function)→ function_call 块', () => {
|
|
88
|
+
const cc = {
|
|
89
|
+
id: 'cc_5',
|
|
90
|
+
choices: [
|
|
91
|
+
{
|
|
92
|
+
message: {
|
|
93
|
+
role: 'assistant',
|
|
94
|
+
content: '',
|
|
95
|
+
refusal: '',
|
|
96
|
+
tool_calls: [{ type: 'function', function: { name: 'search', arguments: '{}' } }],
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
};
|
|
101
|
+
const content = chatCompletionToMessage(cc)[0].content;
|
|
102
|
+
expect(content.some((c) => c.type === 'function_call' && c.name === 'search')).toBe(true);
|
|
103
|
+
});
|
|
104
|
+
it('audio → audio 块', () => {
|
|
105
|
+
const cc = {
|
|
106
|
+
id: 'cc_6',
|
|
107
|
+
choices: [{ message: { role: 'assistant', content: '', refusal: '', audio: { data: 'x' } } }],
|
|
108
|
+
};
|
|
109
|
+
const content = chatCompletionToMessage(cc)[0].content;
|
|
110
|
+
expect(content.some((c) => c.type === 'audio')).toBe(true);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
describe('ai-chat-dialogue · helpers', () => {
|
|
114
|
+
it('contentItemType 取 type', () => {
|
|
115
|
+
expect(contentItemType({ type: 'reasoning' })).toBe('reasoning');
|
|
116
|
+
expect(contentItemType({})).toBe('unknown');
|
|
117
|
+
});
|
|
118
|
+
it('normalizeDialogueContent:string → 单 output_text 块', () => {
|
|
119
|
+
const items = normalizeDialogueContent('plain text');
|
|
120
|
+
expect(items).toHaveLength(1);
|
|
121
|
+
const inner = items[0].content[0];
|
|
122
|
+
expect(inner.text).toBe('plain text');
|
|
123
|
+
});
|
|
124
|
+
it('normalizeDialogueContent:数组原样返回、null → []', () => {
|
|
125
|
+
const arr = [{ type: 'reasoning' }];
|
|
126
|
+
expect(normalizeDialogueContent(arr)).toBe(arr);
|
|
127
|
+
expect(normalizeDialogueContent(undefined)).toEqual([]);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
describe('ai-chat-dialogue · streamingResponseToMessage', () => {
|
|
131
|
+
it('无块 → null', () => {
|
|
132
|
+
expect(streamingResponseToMessage([])).toBeNull();
|
|
133
|
+
expect(streamingResponseToMessage(null)).toBeNull();
|
|
134
|
+
});
|
|
135
|
+
it('快速路径:末块 response.completed 直接返回完整消息', () => {
|
|
136
|
+
const chunks = [
|
|
137
|
+
{
|
|
138
|
+
type: 'response.completed',
|
|
139
|
+
response: {
|
|
140
|
+
id: 'r1',
|
|
141
|
+
model: 'gpt-5',
|
|
142
|
+
status: 'completed',
|
|
143
|
+
output: [{ type: 'message', content: [{ type: 'output_text', text: 'hi' }] }],
|
|
144
|
+
output_text: 'hi',
|
|
145
|
+
created_at: 123,
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
];
|
|
149
|
+
const res = streamingResponseToMessage(chunks);
|
|
150
|
+
expect(res.nextState).toBeNull();
|
|
151
|
+
expect(res.message?.id).toBe('r1');
|
|
152
|
+
expect(res.message?.output_text).toBe('hi');
|
|
153
|
+
expect(res.message?.status).toBe('completed');
|
|
154
|
+
});
|
|
155
|
+
it('顺序 delta 累积 output_text(含 created + item.added)', () => {
|
|
156
|
+
const chunks = [
|
|
157
|
+
{ type: 'response.created', sequence_number: 0, response: { id: 'r2', model: 'm', created_at: 1 } },
|
|
158
|
+
{ type: 'response.output_item.added', sequence_number: 1, output_index: 0, item: { type: 'message' } },
|
|
159
|
+
{ type: 'response.output_text.delta', sequence_number: 2, output_index: 0, content_index: 0, delta: '你' },
|
|
160
|
+
{ type: 'response.output_text.delta', sequence_number: 3, output_index: 0, content_index: 0, delta: '好' },
|
|
161
|
+
];
|
|
162
|
+
const res = streamingResponseToMessage(chunks);
|
|
163
|
+
expect(res.message?.id).toBe('r2');
|
|
164
|
+
// 增量下 output_text 提取顶层 output_text item;message 类型的文本在嵌套 content 里。
|
|
165
|
+
const inner = (res.message?.content)[0].content[0];
|
|
166
|
+
expect(inner.text).toBe('你好');
|
|
167
|
+
expect(res.message?.status).toBe('in_progress');
|
|
168
|
+
});
|
|
169
|
+
it('增量:分两次调用累积(第二次传 nextState)', () => {
|
|
170
|
+
const first = streamingResponseToMessage([
|
|
171
|
+
{ type: 'response.output_item.added', sequence_number: 0, output_index: 0, item: { type: 'message' } },
|
|
172
|
+
{ type: 'response.output_text.delta', sequence_number: 1, output_index: 0, content_index: 0, delta: 'a' },
|
|
173
|
+
]);
|
|
174
|
+
const second = streamingResponseToMessage([{ type: 'response.output_text.delta', sequence_number: 2, output_index: 0, content_index: 0, delta: 'b' }], first.nextState);
|
|
175
|
+
expect((second.message?.content)[0].content[0].text).toBe('ab');
|
|
176
|
+
});
|
|
177
|
+
it('无序缓冲:块 [0,2] 先到缓冲 2,[1] 补齐后按序处理 0,1,2', () => {
|
|
178
|
+
const s1 = streamingResponseToMessage([
|
|
179
|
+
{ type: 'response.output_item.added', sequence_number: 0, output_index: 0, item: { type: 'message' } },
|
|
180
|
+
{ type: 'response.output_text.delta', sequence_number: 2, output_index: 0, content_index: 0, delta: 'B' },
|
|
181
|
+
]);
|
|
182
|
+
// seq 2 还没处理(等 seq 1)
|
|
183
|
+
expect(s1.message?.output_text).toBe('');
|
|
184
|
+
const s2 = streamingResponseToMessage([{ type: 'response.output_text.delta', sequence_number: 1, output_index: 0, content_index: 0, delta: 'A' }], s1.nextState);
|
|
185
|
+
expect((s2.message?.content)[0].content[0].text).toBe('AB');
|
|
186
|
+
});
|
|
187
|
+
it('reasoning delta 累积到 summary', () => {
|
|
188
|
+
const res = streamingResponseToMessage([
|
|
189
|
+
{ type: 'response.output_item.added', sequence_number: 0, output_index: 0, item: { type: 'reasoning' } },
|
|
190
|
+
{ type: 'response.reasoning_summary_text.delta', sequence_number: 1, output_index: 0, summary_index: 0, delta: '思考' },
|
|
191
|
+
]);
|
|
192
|
+
const item = (res.message?.content)[0];
|
|
193
|
+
expect(item.summary[0].text).toBe('思考');
|
|
194
|
+
});
|
|
195
|
+
it('function_call_arguments delta 累积 + done 设 name', () => {
|
|
196
|
+
const res = streamingResponseToMessage([
|
|
197
|
+
{ type: 'response.output_item.added', sequence_number: 0, output_index: 0, item: { type: 'function_call' } },
|
|
198
|
+
{ type: 'response.function_call_arguments.delta', sequence_number: 1, output_index: 0, delta: '{"a":' },
|
|
199
|
+
{ type: 'response.function_call_arguments.done', sequence_number: 2, output_index: 0, name: 'fn', arguments: '{"a":1}' },
|
|
200
|
+
]);
|
|
201
|
+
const item = (res.message?.content)[0];
|
|
202
|
+
expect(item.name).toBe('fn');
|
|
203
|
+
expect(item.arguments).toBe('{"a":1}');
|
|
204
|
+
});
|
|
205
|
+
it('error 块记录到 message.error', () => {
|
|
206
|
+
const res = streamingResponseToMessage([
|
|
207
|
+
{ type: 'response.created', sequence_number: 0, response: { id: 'r' } },
|
|
208
|
+
{ type: 'error', sequence_number: 1, code: 'E', message: 'boom' },
|
|
209
|
+
]);
|
|
210
|
+
expect(res.message?.error).toEqual({ code: 'E', message: 'boom' });
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
describe('ai-chat-dialogue · streamingChatCompletionToMessage', () => {
|
|
214
|
+
const chunk = (id, delta, finish = null, index = 0) => ({
|
|
215
|
+
id,
|
|
216
|
+
choices: [{ index, delta, finish_reason: finish }],
|
|
217
|
+
});
|
|
218
|
+
it('累积 content delta,finish_reason 非 null → completed', () => {
|
|
219
|
+
const res = streamingChatCompletionToMessage([
|
|
220
|
+
chunk('c1', { content: 'Hel' }),
|
|
221
|
+
chunk('c1', { content: 'lo' }, 'stop'),
|
|
222
|
+
]);
|
|
223
|
+
expect(res.messages).toHaveLength(1);
|
|
224
|
+
const m = res.messages[0];
|
|
225
|
+
expect(m.status).toBe('completed');
|
|
226
|
+
const text = m.content[0].content[0].text;
|
|
227
|
+
expect(text).toBe('Hello');
|
|
228
|
+
});
|
|
229
|
+
it('增量:第二次调用传 state 只处理新片段', () => {
|
|
230
|
+
const r1 = streamingChatCompletionToMessage([chunk('c2', { content: 'A' })]);
|
|
231
|
+
const r2 = streamingChatCompletionToMessage([chunk('c2', { content: 'A' }), chunk('c2', { content: 'B' }, 'stop')], r1.state);
|
|
232
|
+
const text = r2.messages[0].content[0].content[0].text;
|
|
233
|
+
expect(text).toBe('AB');
|
|
234
|
+
});
|
|
235
|
+
it('tool_calls 累积(function)', () => {
|
|
236
|
+
const res = streamingChatCompletionToMessage([
|
|
237
|
+
chunk('c3', { tool_calls: [{ id: 't1', function: { name: 'foo', arguments: '{"x":' } }] }),
|
|
238
|
+
chunk('c3', { tool_calls: [{ id: 't1', function: { name: '', arguments: '1}' } }] }, 'tool_calls'),
|
|
239
|
+
]);
|
|
240
|
+
const tool = res.messages[0].content.find((c) => c.type === 'function_call');
|
|
241
|
+
expect(tool.name).toBe('foo');
|
|
242
|
+
// 对齐 Semi:arguments 累积门控在 function.name 非空的段;后续 name 为空的段不再累积
|
|
243
|
+
// (保真 Semi 行为,即末段 name 空时其 arguments 不拼接),故停在首段的 '{"x":'。
|
|
244
|
+
expect(tool.arguments).toBe('{"x":');
|
|
245
|
+
});
|
|
246
|
+
it('多 choice.index 分组产出多条消息', () => {
|
|
247
|
+
const res = streamingChatCompletionToMessage([
|
|
248
|
+
{ id: 'c4', choices: [
|
|
249
|
+
{ index: 0, delta: { content: 'a' }, finish_reason: 'stop' },
|
|
250
|
+
{ index: 1, delta: { content: 'b' }, finish_reason: 'stop' },
|
|
251
|
+
] },
|
|
252
|
+
]);
|
|
253
|
+
expect(res.messages).toHaveLength(2);
|
|
254
|
+
});
|
|
255
|
+
});
|
|
256
|
+
describe('ai-chat-dialogue · dialogueMessageToInput', () => {
|
|
257
|
+
it('抽取 input_text/output_text → inputContents 文本段', () => {
|
|
258
|
+
const msg = {
|
|
259
|
+
id: 'm1',
|
|
260
|
+
role: 'user',
|
|
261
|
+
content: [
|
|
262
|
+
{ type: 'message', content: [{ type: 'input_text', text: '你好' }] },
|
|
263
|
+
{ type: 'message', content: [{ type: 'output_text', text: '世界' }] },
|
|
264
|
+
],
|
|
265
|
+
};
|
|
266
|
+
const payload = dialogueMessageToInput(msg);
|
|
267
|
+
expect(payload.inputContents).toEqual([
|
|
268
|
+
{ type: 'text', text: '你好' },
|
|
269
|
+
{ type: 'text', text: '世界' },
|
|
270
|
+
]);
|
|
271
|
+
});
|
|
272
|
+
it('string content → 用 output_text', () => {
|
|
273
|
+
const payload = dialogueMessageToInput({ id: 'm', role: 'user', content: 'hi', output_text: 'hi' });
|
|
274
|
+
expect(payload.inputContents).toEqual([{ type: 'text', text: 'hi' }]);
|
|
275
|
+
});
|
|
276
|
+
it('携带 attachments/references 时透传', () => {
|
|
277
|
+
const payload = dialogueMessageToInput({
|
|
278
|
+
id: 'm',
|
|
279
|
+
role: 'user',
|
|
280
|
+
content: [{ type: 'message', content: [{ type: 'input_text', text: 'x' }] }],
|
|
281
|
+
attachments: [{ uid: '1' }],
|
|
282
|
+
references: [{ type: 'file', id: 'r' }],
|
|
283
|
+
});
|
|
284
|
+
expect(payload.attachments).toHaveLength(1);
|
|
285
|
+
expect(payload.references).toHaveLength(1);
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
describe('ai-chat-dialogue · 工具块 helpers', () => {
|
|
289
|
+
it('formatToolArguments:JSON 字符串美化', () => {
|
|
290
|
+
expect(formatToolArguments('{"a":1,"b":2}')).toBe('{\n "a": 1,\n "b": 2\n}');
|
|
291
|
+
});
|
|
292
|
+
it('formatToolArguments:对象美化', () => {
|
|
293
|
+
expect(formatToolArguments({ x: 1 })).toBe('{\n "x": 1\n}');
|
|
294
|
+
});
|
|
295
|
+
it('formatToolArguments:未完成 JSON 片段原样返回', () => {
|
|
296
|
+
expect(formatToolArguments('{"a":')).toBe('{"a":');
|
|
297
|
+
});
|
|
298
|
+
it('formatToolArguments:null/undefined → 空串', () => {
|
|
299
|
+
expect(formatToolArguments(null)).toBe('');
|
|
300
|
+
expect(formatToolArguments(undefined)).toBe('');
|
|
301
|
+
});
|
|
302
|
+
it('toolCallStatus:归一各状态', () => {
|
|
303
|
+
expect(toolCallStatus({ status: 'in_progress' })).toBe('in_progress');
|
|
304
|
+
expect(toolCallStatus({ status: 'queued' })).toBe('in_progress');
|
|
305
|
+
expect(toolCallStatus({ status: 'failed' })).toBe('failed');
|
|
306
|
+
expect(toolCallStatus({ status: 'incomplete' })).toBe('incomplete');
|
|
307
|
+
expect(toolCallStatus({})).toBe('completed');
|
|
308
|
+
});
|
|
309
|
+
it('toolCallView:抽取 name/arguments/output/callId', () => {
|
|
310
|
+
const view = toolCallView({
|
|
311
|
+
type: 'function_call',
|
|
312
|
+
name: 'get_weather',
|
|
313
|
+
arguments: '{"city":"SF"}',
|
|
314
|
+
output: '{"temp":20}',
|
|
315
|
+
call_id: 'call_1',
|
|
316
|
+
status: 'completed',
|
|
317
|
+
});
|
|
318
|
+
expect(view.name).toBe('get_weather');
|
|
319
|
+
expect(view.arguments).toBe('{\n "city": "SF"\n}');
|
|
320
|
+
expect(view.output).toBe('{\n "temp": 20\n}');
|
|
321
|
+
expect(view.callId).toBe('call_1');
|
|
322
|
+
expect(view.status).toBe('completed');
|
|
323
|
+
});
|
|
324
|
+
it('toolCallView:MCP serverLabel + custom input', () => {
|
|
325
|
+
const view = toolCallView({
|
|
326
|
+
type: 'mcp_call',
|
|
327
|
+
name: 'search',
|
|
328
|
+
arguments: '{}',
|
|
329
|
+
input: '{"q":"x"}',
|
|
330
|
+
server_label: 'fs-server',
|
|
331
|
+
id: 'mcp_1',
|
|
332
|
+
});
|
|
333
|
+
expect(view.serverLabel).toBe('fs-server');
|
|
334
|
+
expect(view.input).toBe('{\n "q": "x"\n}');
|
|
335
|
+
expect(view.callId).toBe('mcp_1');
|
|
336
|
+
});
|
|
337
|
+
});
|
|
338
|
+
//# sourceMappingURL=ai-chat-dialogue.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-chat-dialogue.test.js","sourceRoot":"","sources":["../src/ai-chat-dialogue.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* createAIChatInput headless — framework-agnostic logic for AIChatInput。
|
|
3
|
+
* 对齐 Semi AIChatInput,纯逻辑(可单测),tiptap Editor 实例与 DOM 归 svelte 渲染层:
|
|
4
|
+
* - 阶段 1:发送态判定(canSend)、快捷键判定(sendHotKey)、MessageContent 组装、doc→Content[] 归一。
|
|
5
|
+
* - 阶段 2:suggestion 面板键盘导航(环绕 index)、suggestion/reference 显示文本归一。
|
|
6
|
+
* - 阶段 3:skill 归一 / getSkillSlotHTML / skillHotKey 判定。
|
|
7
|
+
* - 阶段 4:配置区 setField/removeField(不可变)。
|
|
8
|
+
* - 阶段 5:Adapter 桥(messageToChatInput / chatInputToChatCompletion)接 AIChatDialogue / OpenAI API。
|
|
9
|
+
* 见 specs/components/show/AIChatInput.spec.md §2/§4/§5。
|
|
10
|
+
*/
|
|
11
|
+
import type { AIDialogueMessage } from './ai-chat-dialogue.js';
|
|
12
|
+
/** 富文本输出块(tiptap JSON 经 transformer 归一后的一段内容)。阶段 1 为纯文本段。 */
|
|
13
|
+
export interface AIChatInputContent {
|
|
14
|
+
type: string;
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
}
|
|
17
|
+
/** 上传附件(对齐 Semi Attachment,阶段 1 仅透传,不解析 children)。 */
|
|
18
|
+
export interface AIChatInputAttachment {
|
|
19
|
+
uid?: string;
|
|
20
|
+
name?: string;
|
|
21
|
+
status?: string;
|
|
22
|
+
size?: string | number;
|
|
23
|
+
url?: string;
|
|
24
|
+
type?: 'file' | 'directory';
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* 引用块(阶段 2 渲染于编辑区上方 top area)。对齐 Semi Reference:
|
|
29
|
+
* type='text' 时显示 content,其它类型显示 name;图片类型(type='image' 或 url 是图)显示缩略图。
|
|
30
|
+
*/
|
|
31
|
+
export interface AIChatInputReference {
|
|
32
|
+
type: string;
|
|
33
|
+
id: string;
|
|
34
|
+
/** type='text' 时的文本内容。 */
|
|
35
|
+
content?: string;
|
|
36
|
+
/** 非文本类型的显示名。 */
|
|
37
|
+
name?: string;
|
|
38
|
+
/** 图片/文件的 URL(图片类型用作缩略图 src)。 */
|
|
39
|
+
url?: string;
|
|
40
|
+
[key: string]: unknown;
|
|
41
|
+
}
|
|
42
|
+
/** onMessageSend 载荷,对齐 Semi MessageContent。 */
|
|
43
|
+
export interface AIChatInputMessageContent {
|
|
44
|
+
references?: AIChatInputReference[];
|
|
45
|
+
attachments?: AIChatInputAttachment[];
|
|
46
|
+
inputContents?: AIChatInputContent[];
|
|
47
|
+
setup?: Record<string, unknown>;
|
|
48
|
+
}
|
|
49
|
+
/** 发送快捷键:enter = Enter 发送 / Shift+Enter 换行;shift+enter 则相反。 */
|
|
50
|
+
export type AIChatInputSendHotKey = 'enter' | 'shift+enter';
|
|
51
|
+
/** onContentChange 载荷(阶段 1:纯文本 + html + json)。 */
|
|
52
|
+
export interface AIChatInputChangePayload {
|
|
53
|
+
text: string;
|
|
54
|
+
html: string;
|
|
55
|
+
json: unknown;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 判定一次 Enter 键是否应触发发送(而非换行)。
|
|
59
|
+
* - sendHotKey='enter':裸 Enter 发送,Shift+Enter 换行。
|
|
60
|
+
* - sendHotKey='shift+enter':Shift+Enter 发送,裸 Enter 换行。
|
|
61
|
+
* IME 组字中(composing)永不发送,交由渲染层前置拦截。
|
|
62
|
+
*/
|
|
63
|
+
export declare function isSendHotKey(key: string, shiftKey: boolean, sendHotKey: AIChatInputSendHotKey): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* 解析当前是否可发送。
|
|
66
|
+
* - 显式传入 canSend(受控)时直接返回它。
|
|
67
|
+
* - 否则:富文本非空 或 有附件 即可发送。
|
|
68
|
+
*/
|
|
69
|
+
export declare function resolveCanSend(params: {
|
|
70
|
+
canSend?: boolean | undefined;
|
|
71
|
+
isEmpty: boolean;
|
|
72
|
+
attachments?: AIChatInputAttachment[] | undefined;
|
|
73
|
+
}): boolean;
|
|
74
|
+
/** 组装 onMessageSend 载荷。空字段省略,保持载荷精简。 */
|
|
75
|
+
export declare function buildMessageContent(params: {
|
|
76
|
+
inputContents?: AIChatInputContent[] | undefined;
|
|
77
|
+
attachments?: AIChatInputAttachment[] | undefined;
|
|
78
|
+
references?: AIChatInputReference[] | undefined;
|
|
79
|
+
setup?: Record<string, unknown> | undefined;
|
|
80
|
+
}): AIChatInputMessageContent;
|
|
81
|
+
/**
|
|
82
|
+
* 把 tiptap 文档 JSON 归一为 AIChatInputContent[](阶段 1)。
|
|
83
|
+
* 阶段 1 只有段落文本:每个顶层块产出一段 `{ type:'text', text }`,空段丢弃。
|
|
84
|
+
* transformer(Map<nodeType, fn>)可覆盖特定节点的转换(对齐 Semi transformer)。
|
|
85
|
+
* 阶段 2+ 的 input-slot/select-slot 节点在此扩展。
|
|
86
|
+
*/
|
|
87
|
+
export declare function transformDocToContents(json: unknown, transformer?: Map<string, (node: unknown) => AIChatInputContent>): AIChatInputContent[];
|
|
88
|
+
/** 零宽字符(对齐 Semi ZERO_WIDTH_CHAR):inputSlot 空态占位锚点,归一时剔除。 */
|
|
89
|
+
export declare const AI_CHAT_INPUT_ZERO_WIDTH = "\uFEFF";
|
|
90
|
+
/**
|
|
91
|
+
* 建议项(对齐 Semi Suggestion):纯字符串或含 content 字段的对象。
|
|
92
|
+
* 面板点击/回车后把它交给 onSuggestClick,由消费方决定如何用(通常插入编辑器)。
|
|
93
|
+
*/
|
|
94
|
+
export type AIChatInputSuggestion = string | {
|
|
95
|
+
content: string;
|
|
96
|
+
[key: string]: unknown;
|
|
97
|
+
};
|
|
98
|
+
/** 取建议项的显示文本(string 直接返回,对象取 content)。 */
|
|
99
|
+
export declare function suggestionContent(suggestion: AIChatInputSuggestion): string;
|
|
100
|
+
/**
|
|
101
|
+
* 建议面板键盘导航:从 current 沿 dir(-1=上 / +1=下)环绕移动,返回新 activeIndex。
|
|
102
|
+
* - len<=0 返回 -1(无项)。
|
|
103
|
+
* - current<0(未选中)时:向下从 0 开始、向上从末项开始。
|
|
104
|
+
*/
|
|
105
|
+
export declare function nextSuggestionIndex(current: number, len: number, dir: -1 | 1): number;
|
|
106
|
+
/**
|
|
107
|
+
* 取引用项的显示文本:type='text' 用 content,否则用 name(缺省回退到 id)。
|
|
108
|
+
*/
|
|
109
|
+
export declare function referenceLabel(ref: AIChatInputReference): string;
|
|
110
|
+
/** 该引用是否应按图片渲染(type='image' 或 url 以常见图片扩展名结尾)。 */
|
|
111
|
+
export declare function isImageReference(ref: AIChatInputReference): boolean;
|
|
112
|
+
/**
|
|
113
|
+
* 技能项(对齐 Semi Skill/BaseSkill):空编辑区按 skillHotKey 触发面板,选中后
|
|
114
|
+
* 作为 skillSlot 节点插入编辑器。hasTemplate=true 的技能选中后可展开模版面板。
|
|
115
|
+
* icon 由渲染层提供(Snippet/组件),此处只管数据。
|
|
116
|
+
*/
|
|
117
|
+
export interface AIChatInputSkill {
|
|
118
|
+
/** 展示标签(skillSlot chip 显示,缺省回退 value)。 */
|
|
119
|
+
label?: string;
|
|
120
|
+
/** 技能值(唯一标识/插入值)。 */
|
|
121
|
+
value?: string;
|
|
122
|
+
/** 是否有配套模版(选中后展示模版按钮)。 */
|
|
123
|
+
hasTemplate?: boolean;
|
|
124
|
+
[key: string]: unknown;
|
|
125
|
+
}
|
|
126
|
+
/** 取技能项的显示文本(label 优先,回退 value,再回退空串)。 */
|
|
127
|
+
export declare function skillLabel(skill: AIChatInputSkill): string;
|
|
128
|
+
/**
|
|
129
|
+
* 生成 skillSlot 节点的 HTML(供 editor.setContent 插入)。对齐 Semi getSkillSlotString:
|
|
130
|
+
* `<skill-slot data-label data-value data-template>`。属性值做 HTML 转义防注入。
|
|
131
|
+
*/
|
|
132
|
+
export declare function getSkillSlotHTML(skill: AIChatInputSkill): string;
|
|
133
|
+
/**
|
|
134
|
+
* 生成 selectSlot 节点的 HTML(供 editor.setContent 插入,通常用于 renderTemplate 模版填空)。
|
|
135
|
+
* 对齐 Semi selectSlot:`<select-slot options='["a","b"]' value="a">`。options 为 JSON 字符串。
|
|
136
|
+
* @param options 可选项(string[])
|
|
137
|
+
* @param value 默认选中值(缺省空)
|
|
138
|
+
*/
|
|
139
|
+
export declare function getSelectSlotHTML(options: string[], value?: string): string;
|
|
140
|
+
/**
|
|
141
|
+
* 生成 inputSlot 节点的 HTML(供 editor.setContent 插入,用于 renderTemplate 模版填空的可编辑空格)。
|
|
142
|
+
* 对齐 Semi inputSlot:`<input-slot placeholder="...">` 内含零宽字符作为空态光标锚点。
|
|
143
|
+
* @param placeholder 空态占位提示
|
|
144
|
+
* @param value 初始内容(缺省仅零宽锚点)
|
|
145
|
+
*/
|
|
146
|
+
export declare function getInputSlotHTML(placeholder?: string, value?: string): string;
|
|
147
|
+
/**
|
|
148
|
+
* 是否应触发技能面板:编辑区为空、按下的键等于 skillHotKey、且有技能项。
|
|
149
|
+
* 对齐 Semi:`oldValue === '' && e.key === skillHotKey && skills.length`。
|
|
150
|
+
*/
|
|
151
|
+
export declare function shouldOpenSkillPanel(params: {
|
|
152
|
+
key: string;
|
|
153
|
+
skillHotKey: string;
|
|
154
|
+
isEmpty: boolean;
|
|
155
|
+
skillCount: number;
|
|
156
|
+
}): boolean;
|
|
157
|
+
/** 配置区的值:字段名 → 任意值(对齐 Semi LeftMenuChangeProps / setup)。 */
|
|
158
|
+
export type AIChatInputConfigureValue = Record<string, unknown>;
|
|
159
|
+
/**
|
|
160
|
+
* 配置区状态计算(纯函数,框架无关)。渲染层持有 value($state),
|
|
161
|
+
* 用这些函数算下一个 value —— 对齐 Semi Configure 的 onChange(obj)/onRemove(field)。
|
|
162
|
+
*/
|
|
163
|
+
/** 合并一个字段补丁到 value,返回新对象(不可变)。 */
|
|
164
|
+
export declare function setConfigureField(value: AIChatInputConfigureValue, patch: AIChatInputConfigureValue): AIChatInputConfigureValue;
|
|
165
|
+
/** 从 value 移除一个字段,返回新对象(不可变;对齐 Semi onRemove)。 */
|
|
166
|
+
export declare function removeConfigureField(value: AIChatInputConfigureValue, field: string): AIChatInputConfigureValue;
|
|
167
|
+
/**
|
|
168
|
+
* messageToChatInput —— 把 AIChatInput 的 onMessageSend 载荷转成一条 AIDialogueMessage(user 角色),
|
|
169
|
+
* 供直接 push 进 AIChatDialogue 的 chats 展示。对齐 OpenAI Response 输入消息形态:
|
|
170
|
+
* content 为单个 InputMessage 块,其 content 数组含 input_text / input_image / input_file。
|
|
171
|
+
*
|
|
172
|
+
* @param message AIChatInput onMessageSend 载荷
|
|
173
|
+
* @param opts.id 消息 id(AIChatDialogue 需唯一 id;调用方应提供,缺省 '')
|
|
174
|
+
* @param opts.model 可选模型标记
|
|
175
|
+
*/
|
|
176
|
+
export declare function messageToChatInput(message: AIChatInputMessageContent, opts?: {
|
|
177
|
+
id?: string;
|
|
178
|
+
model?: string;
|
|
179
|
+
}): AIDialogueMessage;
|
|
180
|
+
/** OpenAI ChatCompletion 请求里的一条 message(user)。content 为多模态 parts。 */
|
|
181
|
+
export interface ChatCompletionInputMessage {
|
|
182
|
+
role: 'user';
|
|
183
|
+
content: Array<Record<string, unknown>>;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* chatInputToChatCompletion —— 把 onMessageSend 载荷转成 OpenAI ChatCompletion 请求的 user message,
|
|
187
|
+
* content 为多模态 parts(text / image_url / file)。供直接放进 messages 数组喂 API。
|
|
188
|
+
* 纯文本可由调用方按需扁平化;这里统一产出 parts 数组,保真多模态。
|
|
189
|
+
*/
|
|
190
|
+
export declare function chatInputToChatCompletion(message: AIChatInputMessageContent): ChatCompletionInputMessage;
|
|
191
|
+
//# sourceMappingURL=ai-chat-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-chat-input.d.ts","sourceRoot":"","sources":["../src/ai-chat-input.ts"],"names":[],"mappings":"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"}
|