@chenzy-design/core 0.3.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/dist/ai-chat-dialogue.d.ts +300 -0
  2. package/dist/ai-chat-dialogue.d.ts.map +1 -0
  3. package/dist/ai-chat-dialogue.js +699 -0
  4. package/dist/ai-chat-dialogue.js.map +1 -0
  5. package/dist/ai-chat-dialogue.test.d.ts +2 -0
  6. package/dist/ai-chat-dialogue.test.d.ts.map +1 -0
  7. package/dist/ai-chat-dialogue.test.js +338 -0
  8. package/dist/ai-chat-dialogue.test.js.map +1 -0
  9. package/dist/ai-chat-input.d.ts +191 -0
  10. package/dist/ai-chat-input.d.ts.map +1 -0
  11. package/dist/ai-chat-input.js +274 -0
  12. package/dist/ai-chat-input.js.map +1 -0
  13. package/dist/ai-chat-input.test.d.ts +2 -0
  14. package/dist/ai-chat-input.test.d.ts.map +1 -0
  15. package/dist/ai-chat-input.test.js +339 -0
  16. package/dist/ai-chat-input.test.js.map +1 -0
  17. package/dist/audio-player.d.ts +154 -0
  18. package/dist/audio-player.d.ts.map +1 -0
  19. package/dist/audio-player.js +254 -0
  20. package/dist/audio-player.js.map +1 -0
  21. package/dist/audio-player.test.d.ts +2 -0
  22. package/dist/audio-player.test.d.ts.map +1 -0
  23. package/dist/audio-player.test.js +275 -0
  24. package/dist/audio-player.test.js.map +1 -0
  25. package/dist/back-top.d.ts +4 -1
  26. package/dist/back-top.d.ts.map +1 -1
  27. package/dist/back-top.js +5 -2
  28. package/dist/back-top.js.map +1 -1
  29. package/dist/back-top.test.js +3 -2
  30. package/dist/back-top.test.js.map +1 -1
  31. package/dist/calendar.d.ts +132 -44
  32. package/dist/calendar.d.ts.map +1 -1
  33. package/dist/calendar.js +413 -70
  34. package/dist/calendar.js.map +1 -1
  35. package/dist/calendar.test.js +160 -76
  36. package/dist/calendar.test.js.map +1 -1
  37. package/dist/chat.d.ts +172 -0
  38. package/dist/chat.d.ts.map +1 -0
  39. package/dist/chat.js +210 -0
  40. package/dist/chat.js.map +1 -0
  41. package/dist/chat.test.d.ts +2 -0
  42. package/dist/chat.test.d.ts.map +1 -0
  43. package/dist/chat.test.js +181 -0
  44. package/dist/chat.test.js.map +1 -0
  45. package/dist/code-highlight.d.ts +30 -0
  46. package/dist/code-highlight.d.ts.map +1 -0
  47. package/dist/code-highlight.js +37 -0
  48. package/dist/code-highlight.js.map +1 -0
  49. package/dist/code-highlight.test.d.ts +2 -0
  50. package/dist/code-highlight.test.d.ts.map +1 -0
  51. package/dist/code-highlight.test.js +36 -0
  52. package/dist/code-highlight.test.js.map +1 -0
  53. package/dist/collapsible.d.ts +41 -0
  54. package/dist/collapsible.d.ts.map +1 -0
  55. package/dist/collapsible.js +33 -0
  56. package/dist/collapsible.js.map +1 -0
  57. package/dist/collapsible.test.d.ts +2 -0
  58. package/dist/collapsible.test.d.ts.map +1 -0
  59. package/dist/collapsible.test.js +57 -0
  60. package/dist/collapsible.test.js.map +1 -0
  61. package/dist/color-value.d.ts +60 -0
  62. package/dist/color-value.d.ts.map +1 -0
  63. package/dist/color-value.js +165 -0
  64. package/dist/color-value.js.map +1 -0
  65. package/dist/color-value.test.d.ts +2 -0
  66. package/dist/color-value.test.d.ts.map +1 -0
  67. package/dist/color-value.test.js +104 -0
  68. package/dist/color-value.test.js.map +1 -0
  69. package/dist/config-provider.d.ts +76 -37
  70. package/dist/config-provider.d.ts.map +1 -1
  71. package/dist/config-provider.js +107 -32
  72. package/dist/config-provider.js.map +1 -1
  73. package/dist/config-provider.test.js +123 -60
  74. package/dist/config-provider.test.js.map +1 -1
  75. package/dist/cropper.d.ts +164 -0
  76. package/dist/cropper.d.ts.map +1 -0
  77. package/dist/cropper.js +841 -0
  78. package/dist/cropper.js.map +1 -0
  79. package/dist/cropper.test.d.ts +2 -0
  80. package/dist/cropper.test.d.ts.map +1 -0
  81. package/dist/cropper.test.js +259 -0
  82. package/dist/cropper.test.js.map +1 -0
  83. package/dist/drag-move.d.ts +119 -0
  84. package/dist/drag-move.d.ts.map +1 -0
  85. package/dist/drag-move.js +237 -0
  86. package/dist/drag-move.js.map +1 -0
  87. package/dist/drag-move.test.d.ts +2 -0
  88. package/dist/drag-move.test.d.ts.map +1 -0
  89. package/dist/drag-move.test.js +304 -0
  90. package/dist/drag-move.test.js.map +1 -0
  91. package/dist/editable.d.ts +24 -4
  92. package/dist/editable.d.ts.map +1 -1
  93. package/dist/editable.js +18 -0
  94. package/dist/editable.js.map +1 -1
  95. package/dist/editable.test.js +55 -2
  96. package/dist/editable.test.js.map +1 -1
  97. package/dist/ellipsis.d.ts +13 -0
  98. package/dist/ellipsis.d.ts.map +1 -1
  99. package/dist/ellipsis.js +36 -0
  100. package/dist/ellipsis.js.map +1 -1
  101. package/dist/ellipsis.test.js +37 -1
  102. package/dist/ellipsis.test.js.map +1 -1
  103. package/dist/form-path.d.ts +19 -0
  104. package/dist/form-path.d.ts.map +1 -0
  105. package/dist/form-path.js +97 -0
  106. package/dist/form-path.js.map +1 -0
  107. package/dist/form-path.test.d.ts +2 -0
  108. package/dist/form-path.test.d.ts.map +1 -0
  109. package/dist/form-path.test.js +57 -0
  110. package/dist/form-path.test.js.map +1 -0
  111. package/dist/form-validate.d.ts +13 -0
  112. package/dist/form-validate.d.ts.map +1 -0
  113. package/dist/form-validate.js +204 -0
  114. package/dist/form-validate.js.map +1 -0
  115. package/dist/form.d.ts +91 -18
  116. package/dist/form.d.ts.map +1 -1
  117. package/dist/form.js +170 -115
  118. package/dist/form.js.map +1 -1
  119. package/dist/form.test.js +349 -76
  120. package/dist/form.test.js.map +1 -1
  121. package/dist/highlight.d.ts +42 -32
  122. package/dist/highlight.d.ts.map +1 -1
  123. package/dist/highlight.js +67 -41
  124. package/dist/highlight.js.map +1 -1
  125. package/dist/highlight.test.js +73 -32
  126. package/dist/highlight.test.js.map +1 -1
  127. package/dist/hotkeys.d.ts +151 -0
  128. package/dist/hotkeys.d.ts.map +1 -0
  129. package/dist/hotkeys.js +188 -0
  130. package/dist/hotkeys.js.map +1 -0
  131. package/dist/hotkeys.test.d.ts +2 -0
  132. package/dist/hotkeys.test.d.ts.map +1 -0
  133. package/dist/hotkeys.test.js +170 -0
  134. package/dist/hotkeys.test.js.map +1 -0
  135. package/dist/index.d.ts +33 -17
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +32 -13
  138. package/dist/index.js.map +1 -1
  139. package/dist/input.d.ts +34 -0
  140. package/dist/input.d.ts.map +1 -0
  141. package/dist/input.js +54 -0
  142. package/dist/input.js.map +1 -0
  143. package/dist/input.test.d.ts +2 -0
  144. package/dist/input.test.d.ts.map +1 -0
  145. package/dist/input.test.js +56 -0
  146. package/dist/input.test.js.map +1 -0
  147. package/dist/markdown-render.d.ts +49 -0
  148. package/dist/markdown-render.d.ts.map +1 -0
  149. package/dist/markdown-render.js +61 -0
  150. package/dist/markdown-render.js.map +1 -0
  151. package/dist/markdown-render.test.d.ts +2 -0
  152. package/dist/markdown-render.test.d.ts.map +1 -0
  153. package/dist/markdown-render.test.js +106 -0
  154. package/dist/markdown-render.test.js.map +1 -0
  155. package/dist/notification.d.ts +40 -31
  156. package/dist/notification.d.ts.map +1 -1
  157. package/dist/notification.js +86 -70
  158. package/dist/notification.js.map +1 -1
  159. package/dist/notification.test.js +62 -39
  160. package/dist/notification.test.js.map +1 -1
  161. package/dist/numeral.d.ts +32 -0
  162. package/dist/numeral.d.ts.map +1 -0
  163. package/dist/numeral.js +67 -0
  164. package/dist/numeral.js.map +1 -0
  165. package/dist/numeral.test.d.ts +2 -0
  166. package/dist/numeral.test.d.ts.map +1 -0
  167. package/dist/numeral.test.js +59 -0
  168. package/dist/numeral.test.js.map +1 -0
  169. package/dist/overflow-list.d.ts +9 -40
  170. package/dist/overflow-list.d.ts.map +1 -1
  171. package/dist/overflow-list.js +9 -70
  172. package/dist/overflow-list.js.map +1 -1
  173. package/dist/overflow-list.test.js +1 -122
  174. package/dist/overflow-list.test.js.map +1 -1
  175. package/dist/pagination.d.ts +17 -0
  176. package/dist/pagination.d.ts.map +1 -1
  177. package/dist/pagination.js +48 -0
  178. package/dist/pagination.js.map +1 -1
  179. package/dist/pagination.test.js +40 -1
  180. package/dist/pagination.test.js.map +1 -1
  181. package/dist/pincode.d.ts +79 -0
  182. package/dist/pincode.d.ts.map +1 -0
  183. package/dist/pincode.js +119 -0
  184. package/dist/pincode.js.map +1 -0
  185. package/dist/pincode.test.d.ts +2 -0
  186. package/dist/pincode.test.d.ts.map +1 -0
  187. package/dist/pincode.test.js +151 -0
  188. package/dist/pincode.test.js.map +1 -0
  189. package/dist/progress.d.ts +32 -30
  190. package/dist/progress.d.ts.map +1 -1
  191. package/dist/progress.js +257 -64
  192. package/dist/progress.js.map +1 -1
  193. package/dist/progress.test.js +50 -47
  194. package/dist/progress.test.js.map +1 -1
  195. package/dist/resizable.d.ts +200 -0
  196. package/dist/resizable.d.ts.map +1 -0
  197. package/dist/resizable.js +329 -0
  198. package/dist/resizable.js.map +1 -0
  199. package/dist/resizable.test.d.ts +2 -0
  200. package/dist/resizable.test.d.ts.map +1 -0
  201. package/dist/resizable.test.js +302 -0
  202. package/dist/resizable.test.js.map +1 -0
  203. package/dist/scroll-list.d.ts +69 -62
  204. package/dist/scroll-list.d.ts.map +1 -1
  205. package/dist/scroll-list.js +103 -144
  206. package/dist/scroll-list.js.map +1 -1
  207. package/dist/scroll-list.test.js +100 -110
  208. package/dist/scroll-list.test.js.map +1 -1
  209. package/dist/sidebar.d.ts +46 -0
  210. package/dist/sidebar.d.ts.map +1 -0
  211. package/dist/sidebar.js +65 -0
  212. package/dist/sidebar.js.map +1 -0
  213. package/dist/sidebar.test.d.ts +2 -0
  214. package/dist/sidebar.test.d.ts.map +1 -0
  215. package/dist/sidebar.test.js +88 -0
  216. package/dist/sidebar.test.js.map +1 -0
  217. package/dist/spin.d.ts +5 -5
  218. package/dist/spin.d.ts.map +1 -1
  219. package/dist/spin.js +13 -39
  220. package/dist/spin.js.map +1 -1
  221. package/dist/spin.test.js +2 -26
  222. package/dist/spin.test.js.map +1 -1
  223. package/dist/toast.d.ts +33 -30
  224. package/dist/toast.d.ts.map +1 -1
  225. package/dist/toast.js +77 -72
  226. package/dist/toast.js.map +1 -1
  227. package/dist/toast.test.js +63 -37
  228. package/dist/toast.test.js.map +1 -1
  229. package/dist/tree.d.ts +22 -5
  230. package/dist/tree.d.ts.map +1 -1
  231. package/dist/tree.js +61 -9
  232. package/dist/tree.js.map +1 -1
  233. package/dist/tree.test.js +72 -1
  234. package/dist/tree.test.js.map +1 -1
  235. package/dist/user-guide.d.ts +73 -0
  236. package/dist/user-guide.d.ts.map +1 -0
  237. package/dist/user-guide.js +95 -0
  238. package/dist/user-guide.js.map +1 -0
  239. package/dist/user-guide.test.d.ts +2 -0
  240. package/dist/user-guide.test.d.ts.map +1 -0
  241. package/dist/user-guide.test.js +109 -0
  242. package/dist/user-guide.test.js.map +1 -0
  243. package/dist/video-player.d.ts +196 -0
  244. package/dist/video-player.d.ts.map +1 -0
  245. package/dist/video-player.js +461 -0
  246. package/dist/video-player.js.map +1 -0
  247. package/dist/video-player.test.d.ts +2 -0
  248. package/dist/video-player.test.d.ts.map +1 -0
  249. package/dist/video-player.test.js +435 -0
  250. package/dist/video-player.test.js.map +1 -0
  251. package/package.json +17 -1
  252. package/dist/banner.d.ts +0 -19
  253. package/dist/banner.d.ts.map +0 -1
  254. package/dist/banner.js +0 -20
  255. package/dist/banner.js.map +0 -1
  256. package/dist/banner.test.d.ts +0 -2
  257. package/dist/banner.test.d.ts.map +0 -1
  258. package/dist/banner.test.js +0 -29
  259. package/dist/banner.test.js.map +0 -1
  260. package/dist/breakpoints.d.ts +0 -30
  261. package/dist/breakpoints.d.ts.map +0 -1
  262. package/dist/breakpoints.js +0 -45
  263. package/dist/breakpoints.js.map +0 -1
  264. package/dist/breakpoints.test.d.ts +0 -2
  265. package/dist/breakpoints.test.d.ts.map +0 -1
  266. package/dist/breakpoints.test.js +0 -46
  267. package/dist/breakpoints.test.js.map +0 -1
  268. package/dist/lottie-icon.d.ts +0 -88
  269. package/dist/lottie-icon.d.ts.map +0 -1
  270. package/dist/lottie-icon.js +0 -84
  271. package/dist/lottie-icon.js.map +0 -1
  272. package/dist/lottie-icon.test.d.ts +0 -2
  273. package/dist/lottie-icon.test.d.ts.map +0 -1
  274. package/dist/lottie-icon.test.js +0 -88
  275. package/dist/lottie-icon.test.js.map +0 -1
  276. package/dist/sider.d.ts +0 -26
  277. package/dist/sider.d.ts.map +0 -1
  278. package/dist/sider.js +0 -55
  279. package/dist/sider.js.map +0 -1
  280. package/dist/sider.test.d.ts +0 -2
  281. package/dist/sider.test.d.ts.map +0 -1
  282. package/dist/sider.test.js +0 -29
  283. package/dist/sider.test.js.map +0 -1
@@ -0,0 +1,300 @@
1
+ /**
2
+ * AIChatDialogue headless — OpenAI Response Object 消息格式类型 + 数据 Adapter。
3
+ * 框架无关(无 DOM / 无组件依赖)。渲染层(svelte)消费这些类型与转换函数。
4
+ * 对齐 Semi `@douyinfe/semi-foundation/aiChatDialogue`(foundation + dataAdapter)。
5
+ * 见 specs/components/show/AIChatDialogue.spec.md。
6
+ *
7
+ * 本文件实现 §13 的「本次范围」:类型全谱 + 非流式 Adapter
8
+ * (responseToMessage / chatCompletionToMessage)。流式 Adapter 为 P1,见 spec 登记。
9
+ */
10
+ import type { AIChatInputMessageContent } from './ai-chat-input.js';
11
+ export type AIMessageStatus = 'queued' | 'in_progress' | 'incomplete' | 'completed' | 'failed' | 'cancelled';
12
+ export interface CommonContentItem {
13
+ id?: string;
14
+ type?: string;
15
+ status?: string;
16
+ role?: string;
17
+ }
18
+ export interface InputText {
19
+ type?: string;
20
+ text?: string;
21
+ }
22
+ export interface InputImage {
23
+ type?: string;
24
+ image_url?: string;
25
+ file_id?: string;
26
+ detail?: string;
27
+ }
28
+ export interface InputFile {
29
+ type?: string;
30
+ file_id?: string;
31
+ filename?: string;
32
+ file_data?: string;
33
+ file_url?: string;
34
+ }
35
+ export interface InputAudio {
36
+ type?: string;
37
+ input_audio?: {
38
+ data?: string;
39
+ format?: string;
40
+ };
41
+ }
42
+ export interface InputMessage extends CommonContentItem {
43
+ content?: string | (InputText | InputImage | InputFile | InputAudio)[];
44
+ }
45
+ export interface ItemReference extends CommonContentItem {
46
+ file_id?: string;
47
+ }
48
+ export interface URLCitation {
49
+ type?: string;
50
+ url?: string;
51
+ title?: string;
52
+ start_index?: number;
53
+ end_index?: number;
54
+ }
55
+ export type Annotation = URLCitation | Record<string, unknown>;
56
+ export interface OutputText {
57
+ type?: string;
58
+ text?: string;
59
+ annotations?: Annotation[];
60
+ }
61
+ export interface Refusal extends CommonContentItem {
62
+ type?: string;
63
+ refusal?: string;
64
+ }
65
+ export interface OutputMessage extends CommonContentItem {
66
+ content?: (OutputText | Refusal)[];
67
+ }
68
+ export interface Reasoning extends CommonContentItem {
69
+ summary?: {
70
+ type?: string;
71
+ text?: string;
72
+ }[];
73
+ content?: {
74
+ type?: string;
75
+ text?: string;
76
+ }[];
77
+ }
78
+ /** 工具调用块(function / custom / file_search / web_search / image_generation / mcp 等)。 */
79
+ export interface ToolCallContentItem extends CommonContentItem {
80
+ name?: string;
81
+ arguments?: string;
82
+ call_id?: string;
83
+ [x: string]: unknown;
84
+ }
85
+ /** 兜底:任意自定义块(对齐 Semi CustomObject)。 */
86
+ export type CustomContentItem = {
87
+ type?: string;
88
+ [key: string]: unknown;
89
+ };
90
+ export type ContentItem = InputMessage | ItemReference | OutputMessage | ToolCallContentItem | Reasoning | CustomContentItem;
91
+ export interface AIDialogueMessage {
92
+ id: string;
93
+ content?: string | ContentItem[];
94
+ output_text?: string;
95
+ role: string;
96
+ name?: string;
97
+ createdAt?: number;
98
+ updatedAt?: number;
99
+ model?: string;
100
+ status?: AIMessageStatus | string;
101
+ /** 该消息是否处于编辑态(受控;仅 user 消息生效,编辑态用 messageEditRender 替代内容)。 */
102
+ editing?: boolean;
103
+ /** 该消息引用的文件或文本(对齐 Semi references)。showReference 开启时在 user 消息展示。 */
104
+ references?: AIDialogueReference[];
105
+ [x: string]: unknown;
106
+ }
107
+ export interface AIDialogueMetadata {
108
+ name?: string;
109
+ avatar?: string;
110
+ color?: string;
111
+ [x: string]: unknown;
112
+ }
113
+ export interface AIDialogueRoleConfig {
114
+ user?: AIDialogueMetadata | Map<string, AIDialogueMetadata>;
115
+ assistant?: AIDialogueMetadata | Map<string, AIDialogueMetadata>;
116
+ system?: AIDialogueMetadata | Map<string, AIDialogueMetadata>;
117
+ [role: string]: AIDialogueMetadata | Map<string, AIDialogueMetadata> | undefined;
118
+ }
119
+ export interface AIDialogueReference {
120
+ id?: string | number;
121
+ type?: string;
122
+ name?: string;
123
+ url?: string;
124
+ content?: string;
125
+ }
126
+ /** OpenAI Response Object 的最小结构(仅取用到的字段)。 */
127
+ export interface OpenAIResponseObject {
128
+ id: string;
129
+ model?: string;
130
+ status?: string;
131
+ output?: ContentItem[];
132
+ output_text?: string;
133
+ created_at?: number;
134
+ [x: string]: unknown;
135
+ }
136
+ /**
137
+ * Response Object → Message(对齐 Semi responseToMessage)。
138
+ * 非流式:直接把 output 作为 content,assistant 角色。
139
+ */
140
+ export declare function responseToMessage(response: OpenAIResponseObject): AIDialogueMessage;
141
+ /** ChatCompletion 的最小结构。 */
142
+ export interface ChatCompletionMessage {
143
+ role: string;
144
+ content?: string;
145
+ refusal?: string;
146
+ annotations?: ({
147
+ type?: string;
148
+ url_citation?: URLCitation;
149
+ } & Record<string, unknown>)[];
150
+ function_call?: {
151
+ name?: string;
152
+ arguments?: string;
153
+ [x: string]: unknown;
154
+ };
155
+ tool_calls?: {
156
+ type?: string;
157
+ function?: {
158
+ name?: string;
159
+ arguments?: string;
160
+ [x: string]: unknown;
161
+ };
162
+ custom?: Record<string, unknown>;
163
+ [x: string]: unknown;
164
+ }[];
165
+ audio?: Record<string, unknown>;
166
+ [x: string]: unknown;
167
+ }
168
+ export interface ChatCompletionObject {
169
+ id: string;
170
+ choices: {
171
+ message: ChatCompletionMessage;
172
+ [x: string]: unknown;
173
+ }[];
174
+ [x: string]: unknown;
175
+ }
176
+ /**
177
+ * ChatCompletion Object → Message[](对齐 Semi chatCompletionToMessage)。
178
+ * 每个 choice → 一条 Message;content/refusal → output_text/refusal 块,
179
+ * function_call / tool_calls / audio 各成块。因 `n` 可 >1,返回数组。
180
+ */
181
+ export declare function chatCompletionToMessage(chatCompletion: ChatCompletionObject): AIDialogueMessage[];
182
+ /** 判定 ContentItem 的展示类型(供渲染层分派)。 */
183
+ export declare function contentItemType(item: ContentItem): string;
184
+ /** 规范化 Message.content 为 ContentItem[](string → 单个 output_text 块)。 */
185
+ export declare function normalizeDialogueContent(content: AIDialogueMessage['content']): ContentItem[];
186
+ /** 流式响应块(OpenAI Response streaming event,宽松结构:type + 各事件字段)。 */
187
+ export interface ResponseStreamChunk {
188
+ type?: string;
189
+ sequence_number?: number;
190
+ [key: string]: unknown;
191
+ }
192
+ /** streamingResponseToMessage 的可复用状态(跨多次调用增量累积)。 */
193
+ export interface StreamingResponseState {
194
+ processedSeq: Set<number>;
195
+ outputs: Map<number, any>;
196
+ meta: {
197
+ id?: string;
198
+ model?: string;
199
+ status?: string;
200
+ created_at?: number;
201
+ };
202
+ error: {
203
+ code?: string;
204
+ message?: string;
205
+ } | null;
206
+ buffer: Map<number, ResponseStreamChunk>;
207
+ lastProcessedSeq: number;
208
+ }
209
+ /**
210
+ * streamingResponseToMessage —— 流式 Response 块的增量归约器(全功能,无序容错)。
211
+ * 对齐 Semi:按 sequence_number 顺序处理、缓冲无序块、MAX_GAP(10) 容错跳过丢失块、
212
+ * 逐类型累积 output_text/refusal/reasoning/function_call/custom_tool_call/mcp/code_interpreter/
213
+ * image_generation 等 delta,快速路径 response.completed 直接返回完整消息。
214
+ *
215
+ * @param chunks 本次到达的流式块数组
216
+ * @param prevState 上次调用返回的 nextState(增量处理;首次传 undefined/null)
217
+ * @returns { message, nextState } —— message 为尽力而为的累积消息(in_progress/completed);无块返回 null
218
+ */
219
+ export declare function streamingResponseToMessage(chunks: ResponseStreamChunk[] | null | undefined, prevState?: StreamingResponseState | null): {
220
+ message: AIDialogueMessage | null;
221
+ nextState: StreamingResponseState | null;
222
+ } | null;
223
+ /** 流式 ChatCompletion 块(choices[].delta 累积)。 */
224
+ export interface ChatCompletionStreamChunk {
225
+ id: string;
226
+ choices: Array<{
227
+ index: number;
228
+ delta?: {
229
+ content?: string;
230
+ refusal?: string;
231
+ function_call?: {
232
+ name?: string;
233
+ arguments?: string;
234
+ };
235
+ tool_calls?: Array<{
236
+ id?: string;
237
+ function?: {
238
+ name?: string;
239
+ arguments?: string;
240
+ };
241
+ custom?: {
242
+ name?: string;
243
+ input?: string;
244
+ };
245
+ }>;
246
+ };
247
+ finish_reason?: string | null;
248
+ }>;
249
+ [key: string]: unknown;
250
+ }
251
+ /** streamingChatCompletionToMessage 的可复用状态。 */
252
+ export interface StreamingChatCompletionState {
253
+ processedCountByIndex: Record<string, number>;
254
+ previousResult?: (AIDialogueMessage | undefined)[];
255
+ }
256
+ /**
257
+ * streamingChatCompletionToMessage —— 流式 ChatCompletion 块的增量归约器(全功能)。
258
+ * 对齐 Semi:按 choice.index 分组、基于 state.processedCountByIndex 增量处理新到达片段、
259
+ * 累积 content/refusal/function_call/tool_calls(function/custom),产出每 index 一条 Message[]。
260
+ *
261
+ * @param chunks 本次到达的流式块数组
262
+ * @param prevState 上次调用返回的 state(增量;首次传 undefined)
263
+ * @returns { messages, state }
264
+ */
265
+ export declare function streamingChatCompletionToMessage(chunks: ChatCompletionStreamChunk[], prevState?: StreamingChatCompletionState): {
266
+ messages: AIDialogueMessage[];
267
+ state: StreamingChatCompletionState;
268
+ };
269
+ /**
270
+ * dialogueMessageToInput —— 把 AIDialogueMessage 抽取成 AIChatInputMessageContent(inputContents 文本段),
271
+ * 供 AIChatDialogue 的 messageEditRender 把消息载入 AIChatInput 编辑器(对齐 Semi messageToChatInput 方向)。
272
+ * 抽取 message.content 里 input_text/output_text 文本;attachments/references 若消息带则透传。
273
+ */
274
+ export declare function dialogueMessageToInput(message: AIDialogueMessage): AIChatInputMessageContent;
275
+ /**
276
+ * formatToolArguments —— 把工具调用的 arguments/input(JSON 字符串或对象)美化成缩进 JSON 文本。
277
+ * 解析失败(未完成的流式片段)时原样返回,保证增量流式下不抛错。
278
+ */
279
+ export declare function formatToolArguments(raw: unknown): string;
280
+ /** 工具调用块的状态归一(对齐 OpenAI status;缺省视作 completed)。 */
281
+ export type ToolCallStatus = 'in_progress' | 'completed' | 'failed' | 'incomplete';
282
+ export declare function toolCallStatus(item: ContentItem): ToolCallStatus;
283
+ /**
284
+ * 从工具调用块抽取展示字段(对齐 core ToolCallContentItem + MCP 特有字段)。
285
+ * name/arguments/output/callId/serverLabel(MCP)等,供渲染层统一消费。
286
+ */
287
+ export interface ToolCallView {
288
+ name: string;
289
+ status: ToolCallStatus;
290
+ arguments: string;
291
+ /** 工具输出/结果(若有)。 */
292
+ output?: string;
293
+ callId?: string;
294
+ /** MCP 服务标识(若有)。 */
295
+ serverLabel?: string;
296
+ /** custom_tool_call 的 input(若有,与 arguments 互补)。 */
297
+ input?: string;
298
+ }
299
+ export declare function toolCallView(item: ContentItem): ToolCallView;
300
+ //# sourceMappingURL=ai-chat-dialogue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-chat-dialogue.d.ts","sourceRoot":"","sources":["../src/ai-chat-dialogue.ts"],"names":[],"mappings":"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"}