ds-markdown 0.0.10-beta.3 → 0.0.10-beta.4
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 +81 -10
- package/dist/cjs/MarkdownCMD/index.d.ts +1 -0
- package/dist/cjs/MarkdownCMD/index.js +199 -81
- package/dist/cjs/MarkdownCMD/index.js.map +1 -1
- package/dist/esm/MarkdownCMD/index.d.ts +1 -0
- package/dist/esm/MarkdownCMD/index.js +199 -81
- package/dist/esm/MarkdownCMD/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -222,14 +222,25 @@ interface MarkdownRef {
|
|
|
222
222
|
push: (content: string, answerType: 'thinking' | 'answer') => void;
|
|
223
223
|
clear: () => void;
|
|
224
224
|
triggerWholeEnd: () => void;
|
|
225
|
+
flushBuffer: (answerType?: AnswerType) => void;
|
|
225
226
|
}
|
|
226
227
|
```
|
|
227
228
|
|
|
228
|
-
| 方法 | 参数 | 说明
|
|
229
|
-
| ----------------- | ------------------------------------------- |
|
|
230
|
-
| `push` | `(content: string, answerType: AnswerType)` | 添加内容并开始打字
|
|
231
|
-
| `clear` | - | 清空所有内容和状态
|
|
232
|
-
| `triggerWholeEnd` | - | 手动触发完成回调
|
|
229
|
+
| 方法 | 参数 | 说明 |
|
|
230
|
+
| ----------------- | ------------------------------------------- | ------------------------- |
|
|
231
|
+
| `push` | `(content: string, answerType: AnswerType)` | 添加内容并开始打字 |
|
|
232
|
+
| `clear` | - | 清空所有内容和状态 |
|
|
233
|
+
| `triggerWholeEnd` | - | 手动触发完成回调 |
|
|
234
|
+
| `flushBuffer` | `answerType?: AnswerType` | 强制刷新缓冲区内容 (新增) |
|
|
235
|
+
|
|
236
|
+
### 4. 类型安全
|
|
237
|
+
|
|
238
|
+
```tsx
|
|
239
|
+
import { MarkdownRef } from 'ds-markdown';
|
|
240
|
+
|
|
241
|
+
const ref = useRef<MarkdownRef>(null);
|
|
242
|
+
// 现在具有完整的类型提示和新增的 flushBuffer 方法
|
|
243
|
+
```
|
|
233
244
|
|
|
234
245
|
## 🎨 样式定制
|
|
235
246
|
|
|
@@ -286,15 +297,75 @@ const [content, setContent] = useState('');
|
|
|
286
297
|
// 每次更新都会重新解析整个内容
|
|
287
298
|
```
|
|
288
299
|
|
|
289
|
-
### 3.
|
|
300
|
+
### 3. 流式 Markdown 语法处理
|
|
301
|
+
|
|
302
|
+
**问题场景**: 流式输出时,不完整的 Markdown 语法会导致渲染错误
|
|
290
303
|
|
|
291
304
|
```tsx
|
|
292
|
-
|
|
305
|
+
// 🚨 问题示例:逐字符推送导致的解析错误
|
|
306
|
+
push('#'); // "# "
|
|
307
|
+
push(' '); // "# "
|
|
308
|
+
push('标题'); // "# 标题"
|
|
309
|
+
push('\n'); // "# 标题\n"
|
|
310
|
+
push('1'); // "# 标题\n1" ← 这里会被误解析
|
|
311
|
+
push('.'); // "# 标题\n1." ← 形成正确的列表
|
|
312
|
+
push(' 列表项'); // "# 标题\n1. 列表项"
|
|
313
|
+
```
|
|
293
314
|
|
|
294
|
-
|
|
295
|
-
|
|
315
|
+
**✅ 解决方案**: 组件内置**同步智能缓冲机制**
|
|
316
|
+
|
|
317
|
+
```tsx
|
|
318
|
+
// 组件会实时检测并缓冲不完整的语法
|
|
319
|
+
const streamingDemo = async () => {
|
|
320
|
+
const chunks = ['#', ' ', '使用', '技能', '\n', '1', '.', ' ', '技能1', '\n', '2', '.', ' 技能2'];
|
|
321
|
+
|
|
322
|
+
for (const chunk of chunks) {
|
|
323
|
+
markdownRef.current?.push(chunk, 'answer');
|
|
324
|
+
// 无需延迟,组件内部智能处理
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// 手动刷新剩余缓冲内容 (可选)
|
|
328
|
+
markdownRef.current?.flushBuffer();
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
// 组件会同步智能处理:
|
|
332
|
+
// 1. 实时检测 "# 使用技能\n1" 语法不完整
|
|
333
|
+
// 2. 智能缓冲,等待更多字符
|
|
334
|
+
// 3. 收到 "." 形成 "1." 后立即处理
|
|
335
|
+
// 4. 零延迟,纯同步处理
|
|
296
336
|
```
|
|
297
337
|
|
|
338
|
+
**同步缓冲机制特性**:
|
|
339
|
+
|
|
340
|
+
- ⚡ **零延迟**: 无 setTimeout,纯同步实时处理
|
|
341
|
+
- 🧠 **智能边界**: 基于 Markdown 语法规则的边界检测
|
|
342
|
+
- 🔄 **实时分割**: 遇到完整语法立即处理,不完整时智能缓冲
|
|
343
|
+
- 🛡️ **安全保障**: 提供 `flushBuffer()` 方法处理剩余内容
|
|
344
|
+
|
|
345
|
+
**支持的语法检测**:
|
|
346
|
+
|
|
347
|
+
````typescript
|
|
348
|
+
// 完整语法模式 (立即处理)
|
|
349
|
+
'## 标题'; // 完整标题
|
|
350
|
+
'1. 列表项'; // 完整列表项
|
|
351
|
+
'- 项目'; // 完整无序列表
|
|
352
|
+
'> 引用内容'; // 完整引用
|
|
353
|
+
'```javascript'; // 代码块开始
|
|
354
|
+
'```'; // 代码块结束
|
|
355
|
+
'内容以换行结尾\n'; // 换行边界
|
|
356
|
+
|
|
357
|
+
// 不完整语法 (智能缓冲)
|
|
358
|
+
'##'; // 只有标题符号
|
|
359
|
+
'1'; // 只有数字
|
|
360
|
+
'```java'; // 可能的代码块开始
|
|
361
|
+
````
|
|
362
|
+
|
|
363
|
+
**新增 API**:
|
|
364
|
+
|
|
365
|
+
| 方法 | 参数 | 说明 |
|
|
366
|
+
| ------------- | ------------------------- | ------------------ |
|
|
367
|
+
| `flushBuffer` | `answerType?: AnswerType` | 强制刷新缓冲区内容 |
|
|
368
|
+
|
|
298
369
|
## 🌐 兼容性
|
|
299
370
|
|
|
300
371
|
- **React**: 16.8.0+
|
|
@@ -304,7 +375,7 @@ const ref = useRef<MarkdownRef>(null);
|
|
|
304
375
|
|
|
305
376
|
## 📄 License
|
|
306
377
|
|
|
307
|
-
MIT © [
|
|
378
|
+
MIT © [onshinpei](https://github.com/onshinpei)
|
|
308
379
|
|
|
309
380
|
---
|
|
310
381
|
|
|
@@ -3,6 +3,7 @@ export interface MarkdownRef {
|
|
|
3
3
|
push: (content: string, answerType: AnswerType) => void;
|
|
4
4
|
clear: () => void;
|
|
5
5
|
triggerWholeEnd: () => void;
|
|
6
|
+
flushBuffer: (answerType?: AnswerType) => void;
|
|
6
7
|
}
|
|
7
8
|
declare const MarkdownCMD: import("react").ForwardRefExoticComponent<MarkdownProps & import("react").RefAttributes<MarkdownRef>>;
|
|
8
9
|
export default MarkdownCMD;
|
|
@@ -143,95 +143,207 @@ const MarkdownCMD = (0, react_1.forwardRef)(({ interval = 30, onEnd, onStart, on
|
|
|
143
143
|
answer: '',
|
|
144
144
|
thinkingReference: null,
|
|
145
145
|
answerReference: null,
|
|
146
|
+
thinkingBuffer: '',
|
|
147
|
+
answerBuffer: '',
|
|
146
148
|
});
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
149
|
+
/**
|
|
150
|
+
* 检测当前内容是否在安全的 Markdown 边界
|
|
151
|
+
*/
|
|
152
|
+
const isAtSafeMarkdownBoundary = (content) => {
|
|
153
|
+
if (!content.trim())
|
|
154
|
+
return true;
|
|
155
|
+
const lines = content.split('\n');
|
|
156
|
+
const lastLine = lines[lines.length - 1];
|
|
157
|
+
// 如果以换行符结尾,通常是安全的
|
|
158
|
+
if (content.endsWith('\n'))
|
|
159
|
+
return true;
|
|
160
|
+
// 检查最后一行是否是完整的语法结构
|
|
161
|
+
const patterns = [
|
|
162
|
+
/^#+\s+.+$/, // 完整标题: "## 标题"
|
|
163
|
+
/^\s*(\d+\.|\*|\+|-)\s+.+$/, // 完整列表项: "1. 项目" 或 "- 项目"
|
|
164
|
+
/^\s*```\s*$/, // 代码块结束: "```"
|
|
165
|
+
/^\s*```\w*\s*$/, // 代码块开始: "```js"
|
|
166
|
+
/^\s*>.*$/, // 引用: "> 内容"
|
|
167
|
+
/^\s*\|.*\|\s*$/, // 完整表格行: "| 列1 | 列2 |"
|
|
168
|
+
/^.*[.!?。!?]\s*$/, // 以句号等结尾的句子
|
|
169
|
+
];
|
|
170
|
+
return patterns.some((pattern) => pattern.test(lastLine));
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* 查找最近的安全分割点
|
|
174
|
+
*/
|
|
175
|
+
const findLastSafeBoundary = (content) => {
|
|
176
|
+
const lines = content.split('\n');
|
|
177
|
+
// 从后往前找最后一个完整的行
|
|
178
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
179
|
+
const currentContent = lines.slice(0, i + 1).join('\n');
|
|
180
|
+
if (i < lines.length - 1) {
|
|
181
|
+
// 有后续行,说明当前行以换行结尾,通常是安全的
|
|
182
|
+
return currentContent.length + 1; // +1 for \n
|
|
163
183
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
184
|
+
const line = lines[i];
|
|
185
|
+
// 检查当前行是否是完整的结构
|
|
186
|
+
if (/^#+\s+.+$/.test(line) || // 完整标题
|
|
187
|
+
/^\s*(\d+\.|\*|\+|-)\s+.+$/.test(line) || // 完整列表项
|
|
188
|
+
/^\s*```\s*$/.test(line) || // 代码块标记
|
|
189
|
+
/^\s*>.*$/.test(line) || // 引用行
|
|
190
|
+
/^.*[.!?。!?]\s*$/.test(line)) {
|
|
191
|
+
// 完整句子
|
|
192
|
+
return currentContent.length;
|
|
170
193
|
}
|
|
171
|
-
|
|
172
|
-
|
|
194
|
+
}
|
|
195
|
+
return 0; // 没找到安全点
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* 同步处理带缓冲的内容推送
|
|
199
|
+
*/
|
|
200
|
+
const processBufferedPush = (content, answerType) => {
|
|
201
|
+
const bufferKey = `${answerType}Buffer`;
|
|
202
|
+
const lastSegmentRef = lastSegmentRawRef.current;
|
|
203
|
+
// 将内容添加到缓冲区
|
|
204
|
+
lastSegmentRef[bufferKey] += content;
|
|
205
|
+
// 检查当前是否在安全边界
|
|
206
|
+
if (isAtSafeMarkdownBoundary(lastSegmentRef[bufferKey])) {
|
|
207
|
+
// 在安全边界,直接处理所有内容
|
|
208
|
+
const bufferedContent = lastSegmentRef[bufferKey];
|
|
209
|
+
lastSegmentRef[bufferKey] = '';
|
|
210
|
+
processPushInternal(bufferedContent, answerType);
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
// 不在安全边界,找到最后一个安全分割点
|
|
214
|
+
const safeBoundary = findLastSafeBoundary(lastSegmentRef[bufferKey]);
|
|
215
|
+
if (safeBoundary > 0) {
|
|
216
|
+
// 有安全分割点,处理安全部分,保留其余部分
|
|
217
|
+
const safeContent = lastSegmentRef[bufferKey].substring(0, safeBoundary);
|
|
218
|
+
const remainingContent = lastSegmentRef[bufferKey].substring(safeBoundary);
|
|
219
|
+
lastSegmentRef[bufferKey] = remainingContent;
|
|
220
|
+
processPushInternal(safeContent, answerType);
|
|
173
221
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
222
|
+
// 如果没有安全分割点,继续缓冲等待更多内容
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* 内部推送处理逻辑
|
|
227
|
+
*/
|
|
228
|
+
const processPushInternal = (content, answerType) => {
|
|
229
|
+
if (content.length === 0) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const lastSegmentReference = lastSegmentRawRef.current[`${answerType}Reference`];
|
|
233
|
+
if (isWholeTypedEndRef.current) {
|
|
234
|
+
if (constant_js_1.__DEV__) {
|
|
235
|
+
console.warn('打字已经完全结束,不能再添加新的内容');
|
|
178
236
|
}
|
|
179
|
-
|
|
180
|
-
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
let currentLastSegmentReference = null;
|
|
240
|
+
let currentLastSegmentRaw = '';
|
|
241
|
+
let lastSegmentRaw = '';
|
|
242
|
+
if (lastSegmentReference) {
|
|
243
|
+
lastSegmentRaw = lastSegmentReference.noTrimEndRaw || lastSegmentReference.raw;
|
|
244
|
+
currentLastSegmentRaw = lastSegmentRaw + content;
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
currentLastSegmentRaw = content;
|
|
248
|
+
}
|
|
249
|
+
const tokens = (0, compiler_js_1.compiler)(currentLastSegmentRaw);
|
|
250
|
+
// 如果最后一个token是space,则把lastSegmentRaw设置为空
|
|
251
|
+
if (tokens[tokens.length - 1].type === 'space') {
|
|
252
|
+
currentLastSegmentReference = null;
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
currentLastSegmentReference = tokens[tokens.length - 1];
|
|
256
|
+
}
|
|
257
|
+
const pushAndSplitSegment = (raw, currenIndex, segmentTokenId) => {
|
|
258
|
+
const currentToken = tokens[currenIndex];
|
|
259
|
+
if (currenIndex > 0) {
|
|
260
|
+
const prevToken = tokens[currenIndex - 1];
|
|
261
|
+
if (prevToken.type !== 'space' && currentToken.type !== 'space') {
|
|
262
|
+
charsRef.current.push({ content: '', answerType, contentType: 'split_segment', tokenId: currentToken.id });
|
|
263
|
+
}
|
|
181
264
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}
|
|
265
|
+
charsRef.current.push(...raw.split('').map((char) => ({ content: char, answerType, contentType: 'segment', tokenId: segmentTokenId })));
|
|
266
|
+
};
|
|
267
|
+
if (!lastSegmentReference) {
|
|
268
|
+
tokens.forEach((token, i) => {
|
|
269
|
+
if (token.type === 'space') {
|
|
270
|
+
charsRef.current.push({ content: token.raw, answerType, contentType: 'space', tokenId: token.id });
|
|
189
271
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
272
|
+
else {
|
|
273
|
+
pushAndSplitSegment(token.raw, i, token.id);
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
let str = '';
|
|
279
|
+
let firstSpaceIndex = -1;
|
|
280
|
+
let nextTokenIndex = lastSegmentRaw.length;
|
|
281
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
282
|
+
const token = tokens[i];
|
|
283
|
+
if (token.type === 'space') {
|
|
284
|
+
if (firstSpaceIndex === -1) {
|
|
285
|
+
firstSpaceIndex = str.length;
|
|
196
286
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}
|
|
202
|
-
else {
|
|
203
|
-
let str = '';
|
|
204
|
-
let firstSpaceIndex = -1;
|
|
205
|
-
let nextTokenIndex = lastSegmentRaw.length;
|
|
206
|
-
for (let i = 0; i < tokens.length; i++) {
|
|
207
|
-
const token = tokens[i];
|
|
208
|
-
if (token.type === 'space') {
|
|
209
|
-
if (firstSpaceIndex === -1) {
|
|
210
|
-
firstSpaceIndex = str.length;
|
|
211
|
-
}
|
|
212
|
-
str += token.raw;
|
|
213
|
-
if (lastSegmentRaw.length > firstSpaceIndex) {
|
|
214
|
-
// 如果lastSegmentRaw的长度大于firstSpaceIndex,则需要将当前设置为 segment
|
|
215
|
-
charsRef.current.push(...token.raw.split('').map((char) => ({ content: char, answerType, contentType: 'segment', tokenId: token.id })));
|
|
216
|
-
}
|
|
217
|
-
else {
|
|
218
|
-
charsRef.current.push({ content: token.raw, answerType, contentType: 'space', tokenId: token.id });
|
|
219
|
-
}
|
|
287
|
+
str += token.raw;
|
|
288
|
+
if (lastSegmentRaw.length > firstSpaceIndex) {
|
|
289
|
+
// 如果lastSegmentRaw的长度大于firstSpaceIndex,则需要将当前设置为 segment
|
|
290
|
+
charsRef.current.push(...token.raw.split('').map((char) => ({ content: char, answerType, contentType: 'segment', tokenId: token.id })));
|
|
220
291
|
}
|
|
221
292
|
else {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
293
|
+
charsRef.current.push({ content: token.raw, answerType, contentType: 'space', tokenId: token.id });
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
str += token.noTrimEndRaw || token.raw;
|
|
298
|
+
const realRaw = str.slice(nextTokenIndex);
|
|
299
|
+
if (realRaw.length > 0) {
|
|
300
|
+
pushAndSplitSegment(realRaw, i, lastSegmentReference.id);
|
|
227
301
|
}
|
|
228
|
-
nextTokenIndex = str.length;
|
|
229
302
|
}
|
|
303
|
+
nextTokenIndex = str.length;
|
|
230
304
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
305
|
+
}
|
|
306
|
+
lastSegmentRawRef.current[`${answerType}Reference`] = currentLastSegmentReference;
|
|
307
|
+
if (!typingTask.isTyping()) {
|
|
308
|
+
typingTask.start();
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
/**
|
|
312
|
+
* 强制刷新缓冲区内容
|
|
313
|
+
*/
|
|
314
|
+
const flushBuffer = (answerType) => {
|
|
315
|
+
const lastSegmentRef = lastSegmentRawRef.current;
|
|
316
|
+
if (answerType) {
|
|
317
|
+
// 刷新指定类型的缓冲区
|
|
318
|
+
const bufferKey = `${answerType}Buffer`;
|
|
319
|
+
const bufferedContent = lastSegmentRef[bufferKey];
|
|
320
|
+
if (bufferedContent) {
|
|
321
|
+
lastSegmentRef[bufferKey] = '';
|
|
322
|
+
processPushInternal(bufferedContent, answerType);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
// 刷新所有缓冲区
|
|
327
|
+
if (lastSegmentRef.thinkingBuffer) {
|
|
328
|
+
const content = lastSegmentRef.thinkingBuffer;
|
|
329
|
+
lastSegmentRef.thinkingBuffer = '';
|
|
330
|
+
processPushInternal(content, 'thinking');
|
|
234
331
|
}
|
|
332
|
+
if (lastSegmentRef.answerBuffer) {
|
|
333
|
+
const content = lastSegmentRef.answerBuffer;
|
|
334
|
+
lastSegmentRef.answerBuffer = '';
|
|
335
|
+
processPushInternal(content, 'answer');
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
};
|
|
339
|
+
(0, react_1.useImperativeHandle)(ref, () => ({
|
|
340
|
+
/**
|
|
341
|
+
* 添加内容
|
|
342
|
+
* @param content 内容 {string}
|
|
343
|
+
* @param answerType 回答类型 {AnswerType}
|
|
344
|
+
*/
|
|
345
|
+
push: (content, answerType) => {
|
|
346
|
+
processBufferedPush(content, answerType);
|
|
235
347
|
},
|
|
236
348
|
/**
|
|
237
349
|
* 清除打字任务
|
|
@@ -244,17 +356,19 @@ const MarkdownCMD = (0, react_1.forwardRef)(({ interval = 30, onEnd, onStart, on
|
|
|
244
356
|
isWholeTypedEndRef.current = false;
|
|
245
357
|
currentParagraphRef.current = undefined;
|
|
246
358
|
typingTask.clear();
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
359
|
+
// 清理缓冲区
|
|
360
|
+
const lastSegmentRef = lastSegmentRawRef.current;
|
|
361
|
+
lastSegmentRef.thinkingBuffer = '';
|
|
362
|
+
lastSegmentRef.answerBuffer = '';
|
|
363
|
+
lastSegmentRef.thinkingReference = null;
|
|
364
|
+
lastSegmentRef.answerReference = null;
|
|
253
365
|
},
|
|
254
366
|
/**
|
|
255
367
|
* 主动触发打字结束
|
|
256
368
|
*/
|
|
257
369
|
triggerWholeEnd: () => {
|
|
370
|
+
// 先刷新所有缓冲区内容
|
|
371
|
+
flushBuffer();
|
|
258
372
|
isWholeTypedEndRef.current = true;
|
|
259
373
|
if (!typingTask.isTyping()) {
|
|
260
374
|
// 这里需要手动触发结束回调,因为 hook 中的 triggerOnEnd 不能直接调用
|
|
@@ -264,6 +378,10 @@ const MarkdownCMD = (0, react_1.forwardRef)(({ interval = 30, onEnd, onStart, on
|
|
|
264
378
|
});
|
|
265
379
|
}
|
|
266
380
|
},
|
|
381
|
+
/**
|
|
382
|
+
* 刷新缓冲区 (新增方法)
|
|
383
|
+
*/
|
|
384
|
+
flushBuffer,
|
|
267
385
|
}));
|
|
268
386
|
const getParagraphs = (paragraphs, answerType) => {
|
|
269
387
|
return ((0, jsx_runtime_1.jsxs)("div", { className: `ds-markdown-paragraph ds-typed-${answerType}`, children: [paragraphs.map((paragraph, index) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/MarkdownCMD/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/MarkdownCMD/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export interface MarkdownRef {
|
|
|
3
3
|
push: (content: string, answerType: AnswerType) => void;
|
|
4
4
|
clear: () => void;
|
|
5
5
|
triggerWholeEnd: () => void;
|
|
6
|
+
flushBuffer: (answerType?: AnswerType) => void;
|
|
6
7
|
}
|
|
7
8
|
declare const MarkdownCMD: import("react").ForwardRefExoticComponent<MarkdownProps & import("react").RefAttributes<MarkdownRef>>;
|
|
8
9
|
export default MarkdownCMD;
|
|
@@ -138,95 +138,207 @@ const MarkdownCMD = forwardRef(({ interval = 30, onEnd, onStart, onTypedChar, ti
|
|
|
138
138
|
answer: '',
|
|
139
139
|
thinkingReference: null,
|
|
140
140
|
answerReference: null,
|
|
141
|
+
thinkingBuffer: '',
|
|
142
|
+
answerBuffer: '',
|
|
141
143
|
});
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
144
|
+
/**
|
|
145
|
+
* 检测当前内容是否在安全的 Markdown 边界
|
|
146
|
+
*/
|
|
147
|
+
const isAtSafeMarkdownBoundary = (content) => {
|
|
148
|
+
if (!content.trim())
|
|
149
|
+
return true;
|
|
150
|
+
const lines = content.split('\n');
|
|
151
|
+
const lastLine = lines[lines.length - 1];
|
|
152
|
+
// 如果以换行符结尾,通常是安全的
|
|
153
|
+
if (content.endsWith('\n'))
|
|
154
|
+
return true;
|
|
155
|
+
// 检查最后一行是否是完整的语法结构
|
|
156
|
+
const patterns = [
|
|
157
|
+
/^#+\s+.+$/, // 完整标题: "## 标题"
|
|
158
|
+
/^\s*(\d+\.|\*|\+|-)\s+.+$/, // 完整列表项: "1. 项目" 或 "- 项目"
|
|
159
|
+
/^\s*```\s*$/, // 代码块结束: "```"
|
|
160
|
+
/^\s*```\w*\s*$/, // 代码块开始: "```js"
|
|
161
|
+
/^\s*>.*$/, // 引用: "> 内容"
|
|
162
|
+
/^\s*\|.*\|\s*$/, // 完整表格行: "| 列1 | 列2 |"
|
|
163
|
+
/^.*[.!?。!?]\s*$/, // 以句号等结尾的句子
|
|
164
|
+
];
|
|
165
|
+
return patterns.some((pattern) => pattern.test(lastLine));
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* 查找最近的安全分割点
|
|
169
|
+
*/
|
|
170
|
+
const findLastSafeBoundary = (content) => {
|
|
171
|
+
const lines = content.split('\n');
|
|
172
|
+
// 从后往前找最后一个完整的行
|
|
173
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
174
|
+
const currentContent = lines.slice(0, i + 1).join('\n');
|
|
175
|
+
if (i < lines.length - 1) {
|
|
176
|
+
// 有后续行,说明当前行以换行结尾,通常是安全的
|
|
177
|
+
return currentContent.length + 1; // +1 for \n
|
|
158
178
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
179
|
+
const line = lines[i];
|
|
180
|
+
// 检查当前行是否是完整的结构
|
|
181
|
+
if (/^#+\s+.+$/.test(line) || // 完整标题
|
|
182
|
+
/^\s*(\d+\.|\*|\+|-)\s+.+$/.test(line) || // 完整列表项
|
|
183
|
+
/^\s*```\s*$/.test(line) || // 代码块标记
|
|
184
|
+
/^\s*>.*$/.test(line) || // 引用行
|
|
185
|
+
/^.*[.!?。!?]\s*$/.test(line)) {
|
|
186
|
+
// 完整句子
|
|
187
|
+
return currentContent.length;
|
|
165
188
|
}
|
|
166
|
-
|
|
167
|
-
|
|
189
|
+
}
|
|
190
|
+
return 0; // 没找到安全点
|
|
191
|
+
};
|
|
192
|
+
/**
|
|
193
|
+
* 同步处理带缓冲的内容推送
|
|
194
|
+
*/
|
|
195
|
+
const processBufferedPush = (content, answerType) => {
|
|
196
|
+
const bufferKey = `${answerType}Buffer`;
|
|
197
|
+
const lastSegmentRef = lastSegmentRawRef.current;
|
|
198
|
+
// 将内容添加到缓冲区
|
|
199
|
+
lastSegmentRef[bufferKey] += content;
|
|
200
|
+
// 检查当前是否在安全边界
|
|
201
|
+
if (isAtSafeMarkdownBoundary(lastSegmentRef[bufferKey])) {
|
|
202
|
+
// 在安全边界,直接处理所有内容
|
|
203
|
+
const bufferedContent = lastSegmentRef[bufferKey];
|
|
204
|
+
lastSegmentRef[bufferKey] = '';
|
|
205
|
+
processPushInternal(bufferedContent, answerType);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
// 不在安全边界,找到最后一个安全分割点
|
|
209
|
+
const safeBoundary = findLastSafeBoundary(lastSegmentRef[bufferKey]);
|
|
210
|
+
if (safeBoundary > 0) {
|
|
211
|
+
// 有安全分割点,处理安全部分,保留其余部分
|
|
212
|
+
const safeContent = lastSegmentRef[bufferKey].substring(0, safeBoundary);
|
|
213
|
+
const remainingContent = lastSegmentRef[bufferKey].substring(safeBoundary);
|
|
214
|
+
lastSegmentRef[bufferKey] = remainingContent;
|
|
215
|
+
processPushInternal(safeContent, answerType);
|
|
168
216
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
217
|
+
// 如果没有安全分割点,继续缓冲等待更多内容
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* 内部推送处理逻辑
|
|
222
|
+
*/
|
|
223
|
+
const processPushInternal = (content, answerType) => {
|
|
224
|
+
if (content.length === 0) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
const lastSegmentReference = lastSegmentRawRef.current[`${answerType}Reference`];
|
|
228
|
+
if (isWholeTypedEndRef.current) {
|
|
229
|
+
if (__DEV__) {
|
|
230
|
+
console.warn('打字已经完全结束,不能再添加新的内容');
|
|
173
231
|
}
|
|
174
|
-
|
|
175
|
-
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
let currentLastSegmentReference = null;
|
|
235
|
+
let currentLastSegmentRaw = '';
|
|
236
|
+
let lastSegmentRaw = '';
|
|
237
|
+
if (lastSegmentReference) {
|
|
238
|
+
lastSegmentRaw = lastSegmentReference.noTrimEndRaw || lastSegmentReference.raw;
|
|
239
|
+
currentLastSegmentRaw = lastSegmentRaw + content;
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
currentLastSegmentRaw = content;
|
|
243
|
+
}
|
|
244
|
+
const tokens = compiler(currentLastSegmentRaw);
|
|
245
|
+
// 如果最后一个token是space,则把lastSegmentRaw设置为空
|
|
246
|
+
if (tokens[tokens.length - 1].type === 'space') {
|
|
247
|
+
currentLastSegmentReference = null;
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
currentLastSegmentReference = tokens[tokens.length - 1];
|
|
251
|
+
}
|
|
252
|
+
const pushAndSplitSegment = (raw, currenIndex, segmentTokenId) => {
|
|
253
|
+
const currentToken = tokens[currenIndex];
|
|
254
|
+
if (currenIndex > 0) {
|
|
255
|
+
const prevToken = tokens[currenIndex - 1];
|
|
256
|
+
if (prevToken.type !== 'space' && currentToken.type !== 'space') {
|
|
257
|
+
charsRef.current.push({ content: '', answerType, contentType: 'split_segment', tokenId: currentToken.id });
|
|
258
|
+
}
|
|
176
259
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
}
|
|
260
|
+
charsRef.current.push(...raw.split('').map((char) => ({ content: char, answerType, contentType: 'segment', tokenId: segmentTokenId })));
|
|
261
|
+
};
|
|
262
|
+
if (!lastSegmentReference) {
|
|
263
|
+
tokens.forEach((token, i) => {
|
|
264
|
+
if (token.type === 'space') {
|
|
265
|
+
charsRef.current.push({ content: token.raw, answerType, contentType: 'space', tokenId: token.id });
|
|
184
266
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
267
|
+
else {
|
|
268
|
+
pushAndSplitSegment(token.raw, i, token.id);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
let str = '';
|
|
274
|
+
let firstSpaceIndex = -1;
|
|
275
|
+
let nextTokenIndex = lastSegmentRaw.length;
|
|
276
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
277
|
+
const token = tokens[i];
|
|
278
|
+
if (token.type === 'space') {
|
|
279
|
+
if (firstSpaceIndex === -1) {
|
|
280
|
+
firstSpaceIndex = str.length;
|
|
191
281
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
let str = '';
|
|
199
|
-
let firstSpaceIndex = -1;
|
|
200
|
-
let nextTokenIndex = lastSegmentRaw.length;
|
|
201
|
-
for (let i = 0; i < tokens.length; i++) {
|
|
202
|
-
const token = tokens[i];
|
|
203
|
-
if (token.type === 'space') {
|
|
204
|
-
if (firstSpaceIndex === -1) {
|
|
205
|
-
firstSpaceIndex = str.length;
|
|
206
|
-
}
|
|
207
|
-
str += token.raw;
|
|
208
|
-
if (lastSegmentRaw.length > firstSpaceIndex) {
|
|
209
|
-
// 如果lastSegmentRaw的长度大于firstSpaceIndex,则需要将当前设置为 segment
|
|
210
|
-
charsRef.current.push(...token.raw.split('').map((char) => ({ content: char, answerType, contentType: 'segment', tokenId: token.id })));
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
charsRef.current.push({ content: token.raw, answerType, contentType: 'space', tokenId: token.id });
|
|
214
|
-
}
|
|
282
|
+
str += token.raw;
|
|
283
|
+
if (lastSegmentRaw.length > firstSpaceIndex) {
|
|
284
|
+
// 如果lastSegmentRaw的长度大于firstSpaceIndex,则需要将当前设置为 segment
|
|
285
|
+
charsRef.current.push(...token.raw.split('').map((char) => ({ content: char, answerType, contentType: 'segment', tokenId: token.id })));
|
|
215
286
|
}
|
|
216
287
|
else {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
288
|
+
charsRef.current.push({ content: token.raw, answerType, contentType: 'space', tokenId: token.id });
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
str += token.noTrimEndRaw || token.raw;
|
|
293
|
+
const realRaw = str.slice(nextTokenIndex);
|
|
294
|
+
if (realRaw.length > 0) {
|
|
295
|
+
pushAndSplitSegment(realRaw, i, lastSegmentReference.id);
|
|
222
296
|
}
|
|
223
|
-
nextTokenIndex = str.length;
|
|
224
297
|
}
|
|
298
|
+
nextTokenIndex = str.length;
|
|
225
299
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
300
|
+
}
|
|
301
|
+
lastSegmentRawRef.current[`${answerType}Reference`] = currentLastSegmentReference;
|
|
302
|
+
if (!typingTask.isTyping()) {
|
|
303
|
+
typingTask.start();
|
|
304
|
+
}
|
|
305
|
+
};
|
|
306
|
+
/**
|
|
307
|
+
* 强制刷新缓冲区内容
|
|
308
|
+
*/
|
|
309
|
+
const flushBuffer = (answerType) => {
|
|
310
|
+
const lastSegmentRef = lastSegmentRawRef.current;
|
|
311
|
+
if (answerType) {
|
|
312
|
+
// 刷新指定类型的缓冲区
|
|
313
|
+
const bufferKey = `${answerType}Buffer`;
|
|
314
|
+
const bufferedContent = lastSegmentRef[bufferKey];
|
|
315
|
+
if (bufferedContent) {
|
|
316
|
+
lastSegmentRef[bufferKey] = '';
|
|
317
|
+
processPushInternal(bufferedContent, answerType);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
// 刷新所有缓冲区
|
|
322
|
+
if (lastSegmentRef.thinkingBuffer) {
|
|
323
|
+
const content = lastSegmentRef.thinkingBuffer;
|
|
324
|
+
lastSegmentRef.thinkingBuffer = '';
|
|
325
|
+
processPushInternal(content, 'thinking');
|
|
229
326
|
}
|
|
327
|
+
if (lastSegmentRef.answerBuffer) {
|
|
328
|
+
const content = lastSegmentRef.answerBuffer;
|
|
329
|
+
lastSegmentRef.answerBuffer = '';
|
|
330
|
+
processPushInternal(content, 'answer');
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
useImperativeHandle(ref, () => ({
|
|
335
|
+
/**
|
|
336
|
+
* 添加内容
|
|
337
|
+
* @param content 内容 {string}
|
|
338
|
+
* @param answerType 回答类型 {AnswerType}
|
|
339
|
+
*/
|
|
340
|
+
push: (content, answerType) => {
|
|
341
|
+
processBufferedPush(content, answerType);
|
|
230
342
|
},
|
|
231
343
|
/**
|
|
232
344
|
* 清除打字任务
|
|
@@ -239,17 +351,19 @@ const MarkdownCMD = forwardRef(({ interval = 30, onEnd, onStart, onTypedChar, ti
|
|
|
239
351
|
isWholeTypedEndRef.current = false;
|
|
240
352
|
currentParagraphRef.current = undefined;
|
|
241
353
|
typingTask.clear();
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
354
|
+
// 清理缓冲区
|
|
355
|
+
const lastSegmentRef = lastSegmentRawRef.current;
|
|
356
|
+
lastSegmentRef.thinkingBuffer = '';
|
|
357
|
+
lastSegmentRef.answerBuffer = '';
|
|
358
|
+
lastSegmentRef.thinkingReference = null;
|
|
359
|
+
lastSegmentRef.answerReference = null;
|
|
248
360
|
},
|
|
249
361
|
/**
|
|
250
362
|
* 主动触发打字结束
|
|
251
363
|
*/
|
|
252
364
|
triggerWholeEnd: () => {
|
|
365
|
+
// 先刷新所有缓冲区内容
|
|
366
|
+
flushBuffer();
|
|
253
367
|
isWholeTypedEndRef.current = true;
|
|
254
368
|
if (!typingTask.isTyping()) {
|
|
255
369
|
// 这里需要手动触发结束回调,因为 hook 中的 triggerOnEnd 不能直接调用
|
|
@@ -259,6 +373,10 @@ const MarkdownCMD = forwardRef(({ interval = 30, onEnd, onStart, onTypedChar, ti
|
|
|
259
373
|
});
|
|
260
374
|
}
|
|
261
375
|
},
|
|
376
|
+
/**
|
|
377
|
+
* 刷新缓冲区 (新增方法)
|
|
378
|
+
*/
|
|
379
|
+
flushBuffer,
|
|
262
380
|
}));
|
|
263
381
|
const getParagraphs = (paragraphs, answerType) => {
|
|
264
382
|
return (_jsxs("div", { className: `ds-markdown-paragraph ds-typed-${answerType}`, children: [paragraphs.map((paragraph, index) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/MarkdownCMD/index.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/MarkdownCMD/index.tsx"],"names":[],"mappings":"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"}
|