@mujian/js-sdk 0.0.6-beta.36 → 0.0.6-beta.37

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/index.d.ts CHANGED
@@ -59,7 +59,7 @@ declare class MujianSdk {
59
59
  setActive: (personaId: string) => Promise<void>;
60
60
  };
61
61
  };
62
- complete: (message: string, onData: (data: string | ai.chat.ParsedData) => void, signal?: AbortSignal | undefined, option?: ai.chat.CompleteOption | undefined) => Promise<string>;
62
+ complete: (message: string, onData: (data: string | ai.chat.ParsedData) => void, signal?: AbortSignal | undefined, option?: ai.chat.CompleteOption | undefined) => Promise<void>;
63
63
  applyRegex: (props: {
64
64
  message: import("./react").Message;
65
65
  index: number;
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ var events_EVENT = /*#__PURE__*/ function(EVENT) {
19
19
  return EVENT;
20
20
  }({});
21
21
  function wrapOnData(onData) {
22
+ let fullContent = '';
22
23
  let buffer = '';
23
24
  return function(data) {
24
25
  buffer += data;
@@ -28,25 +29,31 @@ function wrapOnData(onData) {
28
29
  const parsedData = JSON.parse(line.slice(6));
29
30
  if (parsedData.isFinished) return void onData({
30
31
  isFinished: true,
31
- content: ''
32
- });
33
- const content = parsedData?.choices?.[0]?.delta?.content;
34
- if (content?.length > 0) onData({
35
- isFinished: false,
36
- content
32
+ deltaContent: '',
33
+ fullContent
37
34
  });
35
+ const deltaContent = parsedData?.choices?.[0]?.delta?.content;
36
+ if (deltaContent?.length > 0) {
37
+ fullContent += deltaContent;
38
+ onData({
39
+ isFinished: false,
40
+ deltaContent: deltaContent,
41
+ fullContent
42
+ });
43
+ }
38
44
  } catch (e) {
39
45
  onData({
40
46
  isFinished: true,
41
47
  error: e,
42
- content: ''
48
+ deltaContent: '',
49
+ fullContent
43
50
  });
44
51
  return;
45
52
  }
46
53
  };
47
54
  }
48
55
  const chat_complete = async function(message, onData, signal, option = {}) {
49
- return await this.call(events_EVENT.MUJIAN_AI_CHAT_COMPLETE, {
56
+ await this.call(events_EVENT.MUJIAN_AI_CHAT_COMPLETE, {
50
57
  content: message
51
58
  }, {
52
59
  onData: option.parseContent ? wrapOnData(onData) : onData,
@@ -7,7 +7,9 @@ export type ParsedData = {
7
7
  /** 是否已完成生成,最后一块数据时为true */
8
8
  isFinished: boolean;
9
9
  /** LLM生成的delta content */
10
- content: string;
10
+ deltaContent: string;
11
+ /** LLM生成的累积内容 */
12
+ fullContent: string;
11
13
  /** 出错时非空 */
12
14
  error?: unknown;
13
15
  };
@@ -40,7 +42,7 @@ signal?: AbortSignal | undefined,
40
42
  /**
41
43
  * 对话补全配置
42
44
  */
43
- option?: CompleteOption) => Promise<string>;
45
+ option?: CompleteOption | undefined) => Promise<void>;
44
46
  export declare const applyRegex: (this: MujianSdk, props: {
45
47
  message: Message;
46
48
  index: number;
package/dist/react.js CHANGED
@@ -433,6 +433,7 @@ const MdRenderer = /*#__PURE__*/ react.memo(MdRendererBase, (prev, next)=>prev.c
433
433
  MdRendererBase.displayName = "MdRenderer";
434
434
  MdRenderer.displayName = "MdRenderer";
435
435
  function wrapOnData(onData) {
436
+ let fullContent = '';
436
437
  let buffer = '';
437
438
  return function(data) {
438
439
  buffer += data;
@@ -442,25 +443,31 @@ function wrapOnData(onData) {
442
443
  const parsedData = JSON.parse(line.slice(6));
443
444
  if (parsedData.isFinished) return void onData({
444
445
  isFinished: true,
445
- content: ''
446
- });
447
- const content = parsedData?.choices?.[0]?.delta?.content;
448
- if (content?.length > 0) onData({
449
- isFinished: false,
450
- content
446
+ deltaContent: '',
447
+ fullContent
451
448
  });
449
+ const deltaContent = parsedData?.choices?.[0]?.delta?.content;
450
+ if (deltaContent?.length > 0) {
451
+ fullContent += deltaContent;
452
+ onData({
453
+ isFinished: false,
454
+ deltaContent: deltaContent,
455
+ fullContent
456
+ });
457
+ }
452
458
  } catch (e) {
453
459
  onData({
454
460
  isFinished: true,
455
461
  error: e,
456
- content: ''
462
+ deltaContent: '',
463
+ fullContent
457
464
  });
458
465
  return;
459
466
  }
460
467
  };
461
468
  }
462
469
  const chat_complete = async function(message, onData, signal, option = {}) {
463
- return await this.call("mujian:ai:chat:complete", {
470
+ await this.call("mujian:ai:chat:complete", {
464
471
  content: message
465
472
  }, {
466
473
  onData: option.parseContent ? wrapOnData(onData) : onData,
package/dist/umd/index.js CHANGED
@@ -299,6 +299,7 @@
299
299
  });
300
300
  };
301
301
  function wrapOnData(onData) {
302
+ let fullContent = '';
302
303
  let buffer = '';
303
304
  return function(data) {
304
305
  buffer += data;
@@ -308,25 +309,31 @@
308
309
  const parsedData = JSON.parse(line.slice(6));
309
310
  if (parsedData.isFinished) return void onData({
310
311
  isFinished: true,
311
- content: ''
312
- });
313
- const content = parsedData?.choices?.[0]?.delta?.content;
314
- if (content?.length > 0) onData({
315
- isFinished: false,
316
- content
312
+ deltaContent: '',
313
+ fullContent
317
314
  });
315
+ const deltaContent = parsedData?.choices?.[0]?.delta?.content;
316
+ if (deltaContent?.length > 0) {
317
+ fullContent += deltaContent;
318
+ onData({
319
+ isFinished: false,
320
+ deltaContent: deltaContent,
321
+ fullContent
322
+ });
323
+ }
318
324
  } catch (e) {
319
325
  onData({
320
326
  isFinished: true,
321
327
  error: e,
322
- content: ''
328
+ deltaContent: '',
329
+ fullContent
323
330
  });
324
331
  return;
325
332
  }
326
333
  };
327
334
  }
328
335
  const chat_complete = async function(message, onData, signal, option = {}) {
329
- return await this.call(events_EVENT.MUJIAN_AI_CHAT_COMPLETE, {
336
+ await this.call(events_EVENT.MUJIAN_AI_CHAT_COMPLETE, {
330
337
  content: message
331
338
  }, {
332
339
  onData: option.parseContent ? wrapOnData(onData) : onData,
package/dist/umd/react.js CHANGED
@@ -6291,6 +6291,7 @@ ${content}
6291
6291
  });
6292
6292
  };
6293
6293
  function wrapOnData(onData) {
6294
+ let fullContent = '';
6294
6295
  let buffer = '';
6295
6296
  return function(data) {
6296
6297
  buffer += data;
@@ -6300,25 +6301,31 @@ ${content}
6300
6301
  const parsedData = JSON.parse(line.slice(6));
6301
6302
  if (parsedData.isFinished) return void onData({
6302
6303
  isFinished: true,
6303
- content: ''
6304
- });
6305
- const content = parsedData?.choices?.[0]?.delta?.content;
6306
- if (content?.length > 0) onData({
6307
- isFinished: false,
6308
- content
6304
+ deltaContent: '',
6305
+ fullContent
6309
6306
  });
6307
+ const deltaContent = parsedData?.choices?.[0]?.delta?.content;
6308
+ if (deltaContent?.length > 0) {
6309
+ fullContent += deltaContent;
6310
+ onData({
6311
+ isFinished: false,
6312
+ deltaContent: deltaContent,
6313
+ fullContent
6314
+ });
6315
+ }
6310
6316
  } catch (e) {
6311
6317
  onData({
6312
6318
  isFinished: true,
6313
6319
  error: e,
6314
- content: ''
6320
+ deltaContent: '',
6321
+ fullContent
6315
6322
  });
6316
6323
  return;
6317
6324
  }
6318
6325
  };
6319
6326
  }
6320
6327
  const chat_complete = async function(message, onData, signal, option = {}) {
6321
- return await this.call("mujian:ai:chat:complete", {
6328
+ await this.call("mujian:ai:chat:complete", {
6322
6329
  content: message
6323
6330
  }, {
6324
6331
  onData: option.parseContent ? wrapOnData(onData) : onData,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mujian/js-sdk",
3
- "version": "0.0.6-beta.36",
3
+ "version": "0.0.6-beta.37",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -46,6 +46,7 @@
46
46
  "@rspress/plugin-typedoc": "^1.45.8",
47
47
  "@rspress/plugin-api-docgen": "^1.45.8",
48
48
  "@rspress/plugin-preview": "^1.45.8",
49
+ "@mujian/rspress-plugin-sakana-widget": "workspace:",
49
50
  "rspress-plugin-mermaid": "0.3.0",
50
51
  "rspress-plugin-align-image": "0.3.0",
51
52
  "rspress-plugin-file-tree": "0.4.0",