@unif/react-native-chat-sdk 1.1.1 → 1.3.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.
Files changed (33) hide show
  1. package/lib/commonjs/hooks/ChatProvider.js +2 -5
  2. package/lib/commonjs/hooks/ChatProvider.js.map +1 -1
  3. package/lib/commonjs/hooks/useXChat.js +2 -0
  4. package/lib/commonjs/hooks/useXChat.js.map +1 -1
  5. package/lib/commonjs/tools/XRequest.js +29 -3
  6. package/lib/commonjs/tools/XRequest.js.map +1 -1
  7. package/lib/commonjs/tools/XStream.js +12 -2
  8. package/lib/commonjs/tools/XStream.js.map +1 -1
  9. package/lib/module/hooks/ChatProvider.js +2 -5
  10. package/lib/module/hooks/ChatProvider.js.map +1 -1
  11. package/lib/module/hooks/useXChat.js +2 -0
  12. package/lib/module/hooks/useXChat.js.map +1 -1
  13. package/lib/module/tools/XRequest.js +29 -3
  14. package/lib/module/tools/XRequest.js.map +1 -1
  15. package/lib/module/tools/XStream.js +12 -2
  16. package/lib/module/tools/XStream.js.map +1 -1
  17. package/lib/typescript/commonjs/hooks/ChatProvider.d.ts +5 -6
  18. package/lib/typescript/commonjs/hooks/ChatProvider.d.ts.map +1 -1
  19. package/lib/typescript/commonjs/hooks/useXChat.d.ts +0 -2
  20. package/lib/typescript/commonjs/hooks/useXChat.d.ts.map +1 -1
  21. package/lib/typescript/commonjs/tools/XRequest.d.ts.map +1 -1
  22. package/lib/typescript/commonjs/tools/XStream.d.ts.map +1 -1
  23. package/lib/typescript/module/hooks/ChatProvider.d.ts +5 -6
  24. package/lib/typescript/module/hooks/ChatProvider.d.ts.map +1 -1
  25. package/lib/typescript/module/hooks/useXChat.d.ts +0 -2
  26. package/lib/typescript/module/hooks/useXChat.d.ts.map +1 -1
  27. package/lib/typescript/module/tools/XRequest.d.ts.map +1 -1
  28. package/lib/typescript/module/tools/XStream.d.ts.map +1 -1
  29. package/package.json +1 -1
  30. package/src/hooks/ChatProvider.tsx +11 -18
  31. package/src/hooks/useXChat.ts +9 -5
  32. package/src/tools/XRequest.ts +34 -3
  33. package/src/tools/XStream.ts +22 -5
@@ -45,8 +45,6 @@ function ChatProvider(props) {
45
45
  storage,
46
46
  models = [],
47
47
  defaultModel,
48
- generateId,
49
- requestPlaceholder,
50
48
  requestFallback,
51
49
  children
52
50
  } = props;
@@ -57,10 +55,8 @@ function ChatProvider(props) {
57
55
  const chatConfig = (0, _react.useMemo)(() => ({
58
56
  conversationKey: conversations.activeId,
59
57
  provider,
60
- generateId,
61
- requestPlaceholder,
62
58
  requestFallback
63
- }), [conversations.activeId, provider, generateId, requestPlaceholder, requestFallback]);
59
+ }), [conversations.activeId, provider, requestFallback]);
64
60
  const chat = (0, _useXChat.useXChat)(chatConfig);
65
61
  const model = (0, _useXModel.useXModel)({
66
62
  models,
@@ -83,6 +79,7 @@ function ChatProvider(props) {
83
79
  * 消费 ChatProvider 注入的聊天上下文
84
80
  *
85
81
  * @template Message - 消息类型,默认 ChatMessage
82
+ * @template Input - 请求参数类型,默认 RequestParams<Message>
86
83
  */
87
84
  function useChatContext() {
88
85
  const ctx = (0, _react.useContext)(ChatContext);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_useXChat","_useXConversations","_useXModel","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChatContext","createContext","MemoryStorage","data","Map","getItem","key","setItem","value","removeItem","delete","memoryStorage","ChatProvider","props","provider","storage","models","defaultModel","generateId","requestPlaceholder","requestFallback","children","convOptions","useMemo","conversations","useXConversations","chatConfig","conversationKey","activeId","chat","useXChat","model","useXModel","jsx","Provider","useChatContext","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["hooks/ChatProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_useXChat","_useXConversations","_useXModel","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChatContext","createContext","MemoryStorage","data","Map","getItem","key","setItem","value","removeItem","delete","memoryStorage","ChatProvider","props","provider","storage","models","defaultModel","requestFallback","children","convOptions","useMemo","conversations","useXConversations","chatConfig","conversationKey","activeId","chat","useXChat","model","useXModel","jsx","Provider","useChatContext","ctx","useContext","Error"],"sourceRoot":"../../../src","sources":["hooks/ChatProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -40,6 +40,8 @@ function useXChat(config) {
40
40
  } else {
41
41
  defaultMessages().then(msgs => {
42
42
  store.getState().setMessages(msgs);
43
+ }).catch(err => {
44
+ store.getState().setError(err?.message ?? 'Failed to load default messages');
43
45
  });
44
46
  }
45
47
  }, [defaultMessages, store]);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_chatStore","getStatus","m","status","getExtra","extra","useXChat","config","provider","conversationKey","parser","defaultMessages","defaultMessagesLoadedRef","useRef","store","useMemo","getOrCreateChatStore","useEffect","current","Array","isArray","getState","setMessages","then","msgs","state","useSyncExternalStore","subscribe","onRequest","useCallback","input","s","isRequesting","setRequesting","setError","setSuggestions","localMessage","transformLocalMessage","addMessage","loadingMessageId","id","loadingMessage","text","role","createdAt","Date","messageType","turnId","loadingRemoved","removeLoading","removeMessage","sendMessage","onUpdate","message","upsertMessage","onSuccess","onError","error","requestFallback","fallbackMsg","onSuggestion","items","abort","messages","loadingMsg","find","clearError","onReload","targetIdx","findIndex","messagesOrFn","currentInfos","toMessageInfoList","next","map","info","setMessage","partialOrFn","partial","updated","undefined","Object","assign","rawInfos","expanded","parsed","length","push","forEach","p","i","suggestions"],"sourceRoot":"../../../src","sources":["hooks/useXChat.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_chatStore","getStatus","m","status","getExtra","extra","useXChat","config","provider","conversationKey","parser","defaultMessages","defaultMessagesLoadedRef","useRef","store","useMemo","getOrCreateChatStore","useEffect","current","Array","isArray","getState","setMessages","then","msgs","catch","err","setError","message","state","useSyncExternalStore","subscribe","onRequest","useCallback","input","s","isRequesting","setRequesting","setSuggestions","localMessage","transformLocalMessage","addMessage","loadingMessageId","id","loadingMessage","text","role","createdAt","Date","messageType","turnId","loadingRemoved","removeLoading","removeMessage","sendMessage","onUpdate","upsertMessage","onSuccess","onError","error","requestFallback","fallbackMsg","onSuggestion","items","abort","messages","loadingMsg","find","clearError","onReload","targetIdx","findIndex","messagesOrFn","currentInfos","toMessageInfoList","next","map","info","setMessage","partialOrFn","partial","updated","undefined","Object","assign","rawInfos","expanded","parsed","length","push","forEach","p","i","suggestions"],"sourceRoot":"../../../src","sources":["hooks/useXChat.ts"],"mappings":"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","ignoreList":[]}
@@ -65,11 +65,21 @@ class XRequest {
65
65
  console.log(TAG, `event #${eventCount} type=${output.event}`);
66
66
  }
67
67
  callbacks.onStream?.(output);
68
- } else {
69
- // 传统 envelope 格式 → 走 SSEParser 去重排序
68
+ return;
69
+ }
70
+
71
+ // 无命名事件 — 判断是 SSEEnvelope 还是原始 JSON(如 OpenAI delta)
72
+ let parsed = null;
73
+ try {
74
+ parsed = JSON.parse(output.data);
75
+ } catch {
76
+ // 非 JSON 数据,原样传递
77
+ }
78
+ const isEnvelope = parsed && typeof parsed.event_id === 'string' && typeof parsed.seq === 'number';
79
+ if (isEnvelope) {
80
+ // SSEEnvelope 协议 → SSEParser 去重排序
70
81
  const envelopes = this.parser.process(output.data);
71
82
  for (const envelope of envelopes) {
72
- // 心跳事件仅用于保持连接,不传给 UI
73
83
  if (envelope.type === 'heartbeat') {
74
84
  heartbeatCount++;
75
85
  if (heartbeatCount <= 3 || heartbeatCount % 10 === 0) {
@@ -77,6 +87,15 @@ class XRequest {
77
87
  }
78
88
  continue;
79
89
  }
90
+ // done 事件 → 触发 onSuccess 结束请求
91
+ if (envelope.type === 'done') {
92
+ callbacks.onStream?.({
93
+ data: JSON.stringify(envelope),
94
+ event: envelope.type
95
+ });
96
+ callbacks.onSuccess?.('');
97
+ return;
98
+ }
80
99
  eventCount++;
81
100
  if (eventCount <= 3 || eventCount % 20 === 0) {
82
101
  console.log(TAG, `event #${eventCount} type=${envelope.type} seq=${envelope.seq}`);
@@ -86,6 +105,13 @@ class XRequest {
86
105
  event: envelope.type
87
106
  });
88
107
  }
108
+ } else {
109
+ // 原始 JSON(OpenAI 标准 delta)→ 直接传递,绕过 SSEParser
110
+ eventCount++;
111
+ if (eventCount <= 3 || eventCount % 20 === 0) {
112
+ console.log(TAG, `raw #${eventCount} len=${output.data.length}`);
113
+ }
114
+ callbacks.onStream?.(output);
89
115
  }
90
116
  },
91
117
  onError: error => {
@@ -1 +1 @@
1
- {"version":3,"names":["_XStream","require","_SSEParser","TAG","XRequest","stream","parser","SSEParser","constructor","config","create","params","callbacks","abort","reset","baseURL","endpoint","headers","timeout","getToken","reqHeaders","token","Authorization","url","console","log","XStream","method","body","eventTypes","eventCount","heartbeatCount","connect","onMessage","output","event","onStream","envelopes","process","data","envelope","type","seq","JSON","stringify","onError","error","message","onComplete","onSuccess","dispose","exports"],"sourceRoot":"../../../src","sources":["tools/XRequest.ts"],"mappings":";;;;;;AAMA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAPA;AACA;AACA;AACA;AACA;;AAOA,MAAME,GAAG,GAAG,YAAY;AAmBjB,MAAMC,QAAQ,CAAC;EAEZC,MAAM,GAAmB,IAAI;EAC7BC,MAAM,GAAG,IAAIC,oBAAS,CAAC,CAAC;EAEhCC,WAAWA,CAACC,MAAsB,EAAE;IAClC,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAEA,MAAMC,MAAMA,CACVC,MAA+B,EAC/BC,SAA4B,EACb;IACf,IAAI,CAACC,KAAK,CAAC,CAAC;IACZ,IAAI,CAACP,MAAM,CAACQ,KAAK,CAAC,CAAC;IAEnB,MAAM;MACJC,OAAO;MACPC,QAAQ,GAAG,sBAAsB;MACjCC,OAAO,GAAG,CAAC,CAAC;MACZC,OAAO;MACPC;IACF,CAAC,GAAG,IAAI,CAACV,MAAM;;IAEf;IACA,MAAMW,UAAU,GAAG;MAAE,GAAGH;IAAQ,CAAC;IACjC,IAAIE,QAAQ,EAAE;MACZ,IAAI;QACF,MAAME,KAAK,GAAG,MAAMF,QAAQ,CAAC,CAAC;QAC9B,IAAIE,KAAK,EAAE;UACTD,UAAU,CAACE,aAAa,GAAG,UAAUD,KAAK,EAAE;QAC9C;MACF,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;IAEA,MAAME,GAAG,GAAG,GAAGR,OAAO,GAAGC,QAAQ,EAAE;IACnCQ,OAAO,CAACC,GAAG,CAACtB,GAAG,EAAE,MAAM,EAAEoB,GAAG,CAAC;IAE7B,IAAI,CAAClB,MAAM,GAAG,IAAIqB,gBAAO,CAAC;MACxBH,GAAG;MACHI,MAAM,EAAE,MAAM;MACdV,OAAO,EAAEG,UAAU;MACnBQ,IAAI,EAAEjB,MAAM;MACZO,OAAO;MACPW,UAAU,EAAE,IAAI,CAACpB,MAAM,CAACoB;IAC1B,CAAC,CAAC;IAEF,IAAIC,UAAU,GAAG,CAAC;IAClB,IAAIC,cAAc,GAAG,CAAC;IAEtB,IAAI,CAAC1B,MAAM,CAAC2B,OAAO,CAAC;MAClBC,SAAS,EAAGC,MAAiB,IAAK;QAChC,IAAIA,MAAM,CAACC,KAAK,EAAE;UAChB;UACAL,UAAU,EAAE;UACZ,IAAIA,UAAU,IAAI,CAAC,IAAIA,UAAU,GAAG,EAAE,KAAK,CAAC,EAAE;YAC5CN,OAAO,CAACC,GAAG,CAACtB,GAAG,EAAE,UAAU2B,UAAU,SAASI,MAAM,CAACC,KAAK,EAAE,CAAC;UAC/D;UACAvB,SAAS,CAACwB,QAAQ,GAAGF,MAAM,CAAC;QAC9B,CAAC,MAAM;UACL;UACA,MAAMG,SAAwB,GAAG,IAAI,CAAC/B,MAAM,CAACgC,OAAO,CAACJ,MAAM,CAACK,IAAI,CAAC;UACjE,KAAK,MAAMC,QAAQ,IAAIH,SAAS,EAAE;YAChC;YACA,IAAIG,QAAQ,CAACC,IAAI,KAAK,WAAW,EAAE;cACjCV,cAAc,EAAE;cAChB,IAAIA,cAAc,IAAI,CAAC,IAAIA,cAAc,GAAG,EAAE,KAAK,CAAC,EAAE;gBACpDP,OAAO,CAACC,GAAG,CAACtB,GAAG,EAAE,cAAc4B,cAAc,EAAE,CAAC;cAClD;cACA;YACF;YACAD,UAAU,EAAE;YACZ,IAAIA,UAAU,IAAI,CAAC,IAAIA,UAAU,GAAG,EAAE,KAAK,CAAC,EAAE;cAC5CN,OAAO,CAACC,GAAG,CACTtB,GAAG,EACH,UAAU2B,UAAU,SAASU,QAAQ,CAACC,IAAI,QAAQD,QAAQ,CAACE,GAAG,EAChE,CAAC;YACH;YACA9B,SAAS,CAACwB,QAAQ,GAAG;cACnBG,IAAI,EAAEI,IAAI,CAACC,SAAS,CAACJ,QAAQ,CAAC;cAC9BL,KAAK,EAAEK,QAAQ,CAACC;YAClB,CAAC,CAAC;UACJ;QACF;MACF,CAAC;MACDI,OAAO,EAAGC,KAAY,IAAK;QACzBtB,OAAO,CAACsB,KAAK,CACX3C,GAAG,EACH,aAAa2B,UAAU,eAAeC,cAAc,EAAE,EACtDe,KAAK,CAACC,OACR,CAAC;QACDnC,SAAS,CAACiC,OAAO,GAAG;UAClBJ,IAAI,EAAE,cAAc;UACpBM,OAAO,EAAED,KAAK,CAACC;QACjB,CAAC,CAAC;MACJ,CAAC;MACDC,UAAU,EAAEA,CAAA,KAAM;QAChBxB,OAAO,CAACC,GAAG,CACTtB,GAAG,EACH,aAAa2B,UAAU,eAAeC,cAAc,EACtD,CAAC;QACDnB,SAAS,CAACqC,SAAS,GAAG,EAAE,CAAC;MAC3B;IACF,CAAC,CAAC;EACJ;EAEApC,KAAKA,CAAA,EAAS;IACZ,IAAI,IAAI,CAACR,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACQ,KAAK,CAAC,CAAC;MACnB,IAAI,CAACR,MAAM,GAAG,IAAI;IACpB;EACF;EAEA6C,OAAOA,CAAA,EAAS;IACd,IAAI,CAACrC,KAAK,CAAC,CAAC;EACd;AACF;AAACsC,OAAA,CAAA/C,QAAA,GAAAA,QAAA","ignoreList":[]}
1
+ {"version":3,"names":["_XStream","require","_SSEParser","TAG","XRequest","stream","parser","SSEParser","constructor","config","create","params","callbacks","abort","reset","baseURL","endpoint","headers","timeout","getToken","reqHeaders","token","Authorization","url","console","log","XStream","method","body","eventTypes","eventCount","heartbeatCount","connect","onMessage","output","event","onStream","parsed","JSON","parse","data","isEnvelope","event_id","seq","envelopes","process","envelope","type","stringify","onSuccess","length","onError","error","message","onComplete","dispose","exports"],"sourceRoot":"../../../src","sources":["tools/XRequest.ts"],"mappings":";;;;;;AAMA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAPA;AACA;AACA;AACA;AACA;;AAOA,MAAME,GAAG,GAAG,YAAY;AAmBjB,MAAMC,QAAQ,CAAC;EAEZC,MAAM,GAAmB,IAAI;EAC7BC,MAAM,GAAG,IAAIC,oBAAS,CAAC,CAAC;EAEhCC,WAAWA,CAACC,MAAsB,EAAE;IAClC,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAEA,MAAMC,MAAMA,CACVC,MAA+B,EAC/BC,SAA4B,EACb;IACf,IAAI,CAACC,KAAK,CAAC,CAAC;IACZ,IAAI,CAACP,MAAM,CAACQ,KAAK,CAAC,CAAC;IAEnB,MAAM;MACJC,OAAO;MACPC,QAAQ,GAAG,sBAAsB;MACjCC,OAAO,GAAG,CAAC,CAAC;MACZC,OAAO;MACPC;IACF,CAAC,GAAG,IAAI,CAACV,MAAM;;IAEf;IACA,MAAMW,UAAU,GAAG;MAAE,GAAGH;IAAQ,CAAC;IACjC,IAAIE,QAAQ,EAAE;MACZ,IAAI;QACF,MAAME,KAAK,GAAG,MAAMF,QAAQ,CAAC,CAAC;QAC9B,IAAIE,KAAK,EAAE;UACTD,UAAU,CAACE,aAAa,GAAG,UAAUD,KAAK,EAAE;QAC9C;MACF,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;IAEA,MAAME,GAAG,GAAG,GAAGR,OAAO,GAAGC,QAAQ,EAAE;IACnCQ,OAAO,CAACC,GAAG,CAACtB,GAAG,EAAE,MAAM,EAAEoB,GAAG,CAAC;IAE7B,IAAI,CAAClB,MAAM,GAAG,IAAIqB,gBAAO,CAAC;MACxBH,GAAG;MACHI,MAAM,EAAE,MAAM;MACdV,OAAO,EAAEG,UAAU;MACnBQ,IAAI,EAAEjB,MAAM;MACZO,OAAO;MACPW,UAAU,EAAE,IAAI,CAACpB,MAAM,CAACoB;IAC1B,CAAC,CAAC;IAEF,IAAIC,UAAU,GAAG,CAAC;IAClB,IAAIC,cAAc,GAAG,CAAC;IAEtB,IAAI,CAAC1B,MAAM,CAAC2B,OAAO,CAAC;MAClBC,SAAS,EAAGC,MAAiB,IAAK;QAChC,IAAIA,MAAM,CAACC,KAAK,EAAE;UAChB;UACAL,UAAU,EAAE;UACZ,IAAIA,UAAU,IAAI,CAAC,IAAIA,UAAU,GAAG,EAAE,KAAK,CAAC,EAAE;YAC5CN,OAAO,CAACC,GAAG,CAACtB,GAAG,EAAE,UAAU2B,UAAU,SAASI,MAAM,CAACC,KAAK,EAAE,CAAC;UAC/D;UACAvB,SAAS,CAACwB,QAAQ,GAAGF,MAAM,CAAC;UAC5B;QACF;;QAEA;QACA,IAAIG,MAAsC,GAAG,IAAI;QACjD,IAAI;UACFA,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACL,MAAM,CAACM,IAAI,CAAC;QAClC,CAAC,CAAC,MAAM;UACN;QAAA;QAGF,MAAMC,UAAU,GACdJ,MAAM,IACN,OAAOA,MAAM,CAACK,QAAQ,KAAK,QAAQ,IACnC,OAAOL,MAAM,CAACM,GAAG,KAAK,QAAQ;QAEhC,IAAIF,UAAU,EAAE;UACd;UACA,MAAMG,SAAwB,GAAG,IAAI,CAACtC,MAAM,CAACuC,OAAO,CAACX,MAAM,CAACM,IAAI,CAAC;UACjE,KAAK,MAAMM,QAAQ,IAAIF,SAAS,EAAE;YAChC,IAAIE,QAAQ,CAACC,IAAI,KAAK,WAAW,EAAE;cACjChB,cAAc,EAAE;cAChB,IAAIA,cAAc,IAAI,CAAC,IAAIA,cAAc,GAAG,EAAE,KAAK,CAAC,EAAE;gBACpDP,OAAO,CAACC,GAAG,CAACtB,GAAG,EAAE,cAAc4B,cAAc,EAAE,CAAC;cAClD;cACA;YACF;YACA;YACA,IAAIe,QAAQ,CAACC,IAAI,KAAK,MAAM,EAAE;cAC5BnC,SAAS,CAACwB,QAAQ,GAAG;gBACnBI,IAAI,EAAEF,IAAI,CAACU,SAAS,CAACF,QAAQ,CAAC;gBAC9BX,KAAK,EAAEW,QAAQ,CAACC;cAClB,CAAC,CAAC;cACFnC,SAAS,CAACqC,SAAS,GAAG,EAAE,CAAC;cACzB;YACF;YACAnB,UAAU,EAAE;YACZ,IAAIA,UAAU,IAAI,CAAC,IAAIA,UAAU,GAAG,EAAE,KAAK,CAAC,EAAE;cAC5CN,OAAO,CAACC,GAAG,CACTtB,GAAG,EACH,UAAU2B,UAAU,SAASgB,QAAQ,CAACC,IAAI,QAAQD,QAAQ,CAACH,GAAG,EAChE,CAAC;YACH;YACA/B,SAAS,CAACwB,QAAQ,GAAG;cACnBI,IAAI,EAAEF,IAAI,CAACU,SAAS,CAACF,QAAQ,CAAC;cAC9BX,KAAK,EAAEW,QAAQ,CAACC;YAClB,CAAC,CAAC;UACJ;QACF,CAAC,MAAM;UACL;UACAjB,UAAU,EAAE;UACZ,IAAIA,UAAU,IAAI,CAAC,IAAIA,UAAU,GAAG,EAAE,KAAK,CAAC,EAAE;YAC5CN,OAAO,CAACC,GAAG,CAACtB,GAAG,EAAE,QAAQ2B,UAAU,QAAQI,MAAM,CAACM,IAAI,CAACU,MAAM,EAAE,CAAC;UAClE;UACAtC,SAAS,CAACwB,QAAQ,GAAGF,MAAM,CAAC;QAC9B;MACF,CAAC;MACDiB,OAAO,EAAGC,KAAY,IAAK;QACzB5B,OAAO,CAAC4B,KAAK,CACXjD,GAAG,EACH,aAAa2B,UAAU,eAAeC,cAAc,EAAE,EACtDqB,KAAK,CAACC,OACR,CAAC;QACDzC,SAAS,CAACuC,OAAO,GAAG;UAClBJ,IAAI,EAAE,cAAc;UACpBM,OAAO,EAAED,KAAK,CAACC;QACjB,CAAC,CAAC;MACJ,CAAC;MACDC,UAAU,EAAEA,CAAA,KAAM;QAChB9B,OAAO,CAACC,GAAG,CACTtB,GAAG,EACH,aAAa2B,UAAU,eAAeC,cAAc,EACtD,CAAC;QACDnB,SAAS,CAACqC,SAAS,GAAG,EAAE,CAAC;MAC3B;IACF,CAAC,CAAC;EACJ;EAEApC,KAAKA,CAAA,EAAS;IACZ,IAAI,IAAI,CAACR,MAAM,EAAE;MACf,IAAI,CAACA,MAAM,CAACQ,KAAK,CAAC,CAAC;MACnB,IAAI,CAACR,MAAM,GAAG,IAAI;IACpB;EACF;EAEAkD,OAAOA,CAAA,EAAS;IACd,IAAI,CAAC1C,KAAK,CAAC,CAAC;EACd;AACF;AAAC2C,OAAA,CAAApD,QAAA,GAAAA,QAAA","ignoreList":[]}
@@ -68,6 +68,15 @@ class XStream {
68
68
  es.addEventListener('message', event => {
69
69
  resetTimeout();
70
70
  if (event.data) {
71
+ // 标准 SSE 结束标记(OpenAI / DeepSeek 等)
72
+ if (event.data === '[DONE]') {
73
+ const elapsed = ((Date.now() - this.connectTime) / 1000).toFixed(1);
74
+ console.log(TAG, `[DONE] msgs=${this.msgCount} elapsed=${elapsed}s`);
75
+ this.clearTimer();
76
+ callbacks.onComplete?.();
77
+ this.abort();
78
+ return;
79
+ }
71
80
  this.msgCount++;
72
81
  if (this.msgCount <= 3 || this.msgCount % 20 === 0) {
73
82
  console.log(TAG, `message #${this.msgCount} len=${event.data.length}`);
@@ -98,9 +107,10 @@ class XStream {
98
107
  }
99
108
  es.addEventListener('error', event => {
100
109
  const elapsed = ((Date.now() - this.connectTime) / 1000).toFixed(1);
101
- console.error(TAG, `错误 msgs=${this.msgCount} elapsed=${elapsed}s`, event.message);
110
+ const message = 'message' in event ? event.message : 'SSE 连接错误';
111
+ console.error(TAG, `错误 msgs=${this.msgCount} elapsed=${elapsed}s`, message);
102
112
  this.clearTimer();
103
- callbacks.onError?.(new Error(event.message || 'SSE 连接错误'));
113
+ callbacks.onError?.(new Error(message));
104
114
  });
105
115
  }
106
116
  abort() {
@@ -1 +1 @@
1
- {"version":3,"names":["TAG","defaultTransform","event","data","XStream","es","timeoutTimer","msgCount","connectTime","constructor","config","connect","callbacks","abort","Date","now","url","method","headers","body","timeout","transformStream","console","log","RNEventSource","require","default","JSON","stringify","undefined","resetTimeout","clearTimer","setTimeout","elapsed","toFixed","warn","onError","Error","addEventListener","onOpen","length","output","onMessage","eventTypes","customTypes","type","error","message","close","dispose","clearTimeout","exports"],"sourceRoot":"../../../src","sources":["tools/XStream.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TAG","defaultTransform","event","data","XStream","es","timeoutTimer","msgCount","connectTime","constructor","config","connect","callbacks","abort","Date","now","url","method","headers","body","timeout","transformStream","console","log","RNEventSource","require","default","JSON","stringify","undefined","resetTimeout","clearTimer","setTimeout","elapsed","toFixed","warn","onError","Error","addEventListener","onOpen","onComplete","length","output","onMessage","eventTypes","customTypes","type","message","error","close","dispose","clearTimeout","exports"],"sourceRoot":"../../../src","sources":["tools/XStream.ts"],"mappings":"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","ignoreList":[]}
@@ -39,8 +39,6 @@ export function ChatProvider(props) {
39
39
  storage,
40
40
  models = [],
41
41
  defaultModel,
42
- generateId,
43
- requestPlaceholder,
44
42
  requestFallback,
45
43
  children
46
44
  } = props;
@@ -51,10 +49,8 @@ export function ChatProvider(props) {
51
49
  const chatConfig = useMemo(() => ({
52
50
  conversationKey: conversations.activeId,
53
51
  provider,
54
- generateId,
55
- requestPlaceholder,
56
52
  requestFallback
57
- }), [conversations.activeId, provider, generateId, requestPlaceholder, requestFallback]);
53
+ }), [conversations.activeId, provider, requestFallback]);
58
54
  const chat = useXChat(chatConfig);
59
55
  const model = useXModel({
60
56
  models,
@@ -77,6 +73,7 @@ export function ChatProvider(props) {
77
73
  * 消费 ChatProvider 注入的聊天上下文
78
74
  *
79
75
  * @template Message - 消息类型,默认 ChatMessage
76
+ * @template Input - 请求参数类型,默认 RequestParams<Message>
80
77
  */
81
78
  export function useChatContext() {
82
79
  const ctx = useContext(ChatContext);
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useMemo","useXChat","useXConversations","useXModel","jsx","_jsx","ChatContext","MemoryStorage","data","Map","getItem","key","get","setItem","value","set","removeItem","delete","memoryStorage","ChatProvider","props","provider","storage","models","defaultModel","generateId","requestPlaceholder","requestFallback","children","convOptions","conversations","chatConfig","conversationKey","activeId","chat","model","Provider","useChatContext","ctx","Error"],"sourceRoot":"../../../src","sources":["hooks/ChatProvider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AACjE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,SAAS,QAAQ,gBAAa;;AA6BvC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAmDA;AACA;AACA;AACA;AACA,MAAMC,WAAW,gBAAGR,aAAa,CAAmC,IAAI,CAAC;;AAEzE;AACA,MAAMS,aAAa,CAAwB;EACjCC,IAAI,GAAG,IAAIC,GAAG,CAAiB,CAAC;EAExC,MAAMC,OAAOA,CAACC,GAAW,EAAE;IACzB,OAAO,IAAI,CAACH,IAAI,CAACI,GAAG,CAACD,GAAG,CAAC,IAAI,IAAI;EACnC;EACA,MAAME,OAAOA,CAACF,GAAW,EAAEG,KAAa,EAAE;IACxC,IAAI,CAACN,IAAI,CAACO,GAAG,CAACJ,GAAG,EAAEG,KAAK,CAAC;EAC3B;EACA,MAAME,UAAUA,CAACL,GAAW,EAAE;IAC5B,IAAI,CAACH,IAAI,CAACS,MAAM,CAACN,GAAG,CAAC;EACvB;AACF;AAEA,MAAMO,aAAa,GAAG,IAAIX,aAAa,CAAC,CAAC;AAEzC,OAAO,SAASY,YAAYA,CAI1BC,KAAgD,EAAE;EAClD,MAAM;IACJC,QAAQ;IACRC,OAAO;IACPC,MAAM,GAAG,EAAE;IACXC,YAAY;IACZC,UAAU;IACVC,kBAAkB;IAClBC,eAAe;IACfC;EACF,CAAC,GAAGR,KAAK;EAET,MAAMS,WAAqC,GAAG7B,OAAO,CACnD,OAAO;IAAEsB,OAAO,EAAEA,OAAO,IAAIJ;EAAc,CAAC,CAAC,EAC7C,CAACI,OAAO,CACV,CAAC;EACD,MAAMQ,aAAa,GAAG5B,iBAAiB,CAAC2B,WAAW,CAAC;EAEpD,MAAME,UAAkD,GAAG/B,OAAO,CAChE,OAAO;IACLgC,eAAe,EAAEF,aAAa,CAACG,QAAQ;IACvCZ,QAAQ;IACRI,UAAU;IACVC,kBAAkB;IAClBC;EACF,CAAC,CAAC,EACF,CACEG,aAAa,CAACG,QAAQ,EACtBZ,QAAQ,EACRI,UAAU,EACVC,kBAAkB,EAClBC,eAAe,CAEnB,CAAC;EAED,MAAMO,IAAoC,GAAGjC,QAAQ,CAAC8B,UAAU,CAAC;EAEjE,MAAMI,KAAK,GAAGhC,SAAS,CAAC;IAAEoB,MAAM;IAAEC;EAAa,CAAC,CAAC;;EAEjD;EACA,MAAMV,KAAK,GAAGd,OAAO,CACnB,OAAO;IACL,GAAGkC,IAAI;IACP,GAAGJ,aAAa;IAChB,GAAGK;EACL,CAAC,CAAC,EACF,CAACD,IAAI,EAAEJ,aAAa,EAAEK,KAAK,CAC7B,CAAC;EAED,oBACE9B,IAAA,CAACC,WAAW,CAAC8B,QAAQ;IAACtB,KAAK,EAAEA,KAAmC;IAAAc,QAAA,EAC7DA;EAAQ,CACW,CAAC;AAE3B;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,cAAcA,CAAA,EAEC;EAC7B,MAAMC,GAAG,GAAGvC,UAAU,CAACO,WAAW,CAAC;EACnC,IAAI,CAACgC,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;EACtE;EACA;EACA,OAAOD,GAAG;AACZ","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useMemo","useXChat","useXConversations","useXModel","jsx","_jsx","ChatContext","MemoryStorage","data","Map","getItem","key","get","setItem","value","set","removeItem","delete","memoryStorage","ChatProvider","props","provider","storage","models","defaultModel","requestFallback","children","convOptions","conversations","chatConfig","conversationKey","activeId","chat","model","Provider","useChatContext","ctx","Error"],"sourceRoot":"../../../src","sources":["hooks/ChatProvider.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AACjE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,SAAS,QAAQ,gBAAa;;AA2BvC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAsDA;AACA;AACA;AACA;AACA,MAAMC,WAAW,gBAAGR,aAAa,CAAmC,IAAI,CAAC;;AAEzE;AACA,MAAMS,aAAa,CAAwB;EACjCC,IAAI,GAAG,IAAIC,GAAG,CAAiB,CAAC;EAExC,MAAMC,OAAOA,CAACC,GAAW,EAAE;IACzB,OAAO,IAAI,CAACH,IAAI,CAACI,GAAG,CAACD,GAAG,CAAC,IAAI,IAAI;EACnC;EACA,MAAME,OAAOA,CAACF,GAAW,EAAEG,KAAa,EAAE;IACxC,IAAI,CAACN,IAAI,CAACO,GAAG,CAACJ,GAAG,EAAEG,KAAK,CAAC;EAC3B;EACA,MAAME,UAAUA,CAACL,GAAW,EAAE;IAC5B,IAAI,CAACH,IAAI,CAACS,MAAM,CAACN,GAAG,CAAC;EACvB;AACF;AAEA,MAAMO,aAAa,GAAG,IAAIX,aAAa,CAAC,CAAC;AAEzC,OAAO,SAASY,YAAYA,CAI1BC,KAAgD,EAAE;EAClD,MAAM;IACJC,QAAQ;IACRC,OAAO;IACPC,MAAM,GAAG,EAAE;IACXC,YAAY;IACZC,eAAe;IACfC;EACF,CAAC,GAAGN,KAAK;EAET,MAAMO,WAAqC,GAAG3B,OAAO,CACnD,OAAO;IAAEsB,OAAO,EAAEA,OAAO,IAAIJ;EAAc,CAAC,CAAC,EAC7C,CAACI,OAAO,CACV,CAAC;EACD,MAAMM,aAAa,GAAG1B,iBAAiB,CAACyB,WAAW,CAAC;EAEpD,MAAME,UAAkD,GAAG7B,OAAO,CAChE,OAAO;IACL8B,eAAe,EAAEF,aAAa,CAACG,QAAQ;IACvCV,QAAQ;IACRI;EACF,CAAC,CAAC,EACF,CAACG,aAAa,CAACG,QAAQ,EAAEV,QAAQ,EAAEI,eAAe,CACpD,CAAC;EAED,MAAMO,IAAoC,GAAG/B,QAAQ,CAAC4B,UAAU,CAAC;EAEjE,MAAMI,KAAK,GAAG9B,SAAS,CAAC;IAAEoB,MAAM;IAAEC;EAAa,CAAC,CAAC;;EAEjD;EACA,MAAMV,KAAK,GAAGd,OAAO,CACnB,OAAO;IACL,GAAGgC,IAAI;IACP,GAAGJ,aAAa;IAChB,GAAGK;EACL,CAAC,CAAC,EACF,CAACD,IAAI,EAAEJ,aAAa,EAAEK,KAAK,CAC7B,CAAC;EAED,oBACE5B,IAAA,CAACC,WAAW,CAAC4B,QAAQ;IAACpB,KAAK,EAAEA,KAAmC;IAAAY,QAAA,EAC7DA;EAAQ,CACW,CAAC;AAE3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,cAAcA,CAAA,EAGQ;EACpC,MAAMC,GAAG,GAAGrC,UAAU,CAACO,WAAW,CAAC;EACnC,IAAI,CAAC8B,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;EACtE;EACA;EACA,OAAOD,GAAG;AACZ","ignoreList":[]}
@@ -36,6 +36,8 @@ export function useXChat(config) {
36
36
  } else {
37
37
  defaultMessages().then(msgs => {
38
38
  store.getState().setMessages(msgs);
39
+ }).catch(err => {
40
+ store.getState().setError(err?.message ?? 'Failed to load default messages');
39
41
  });
40
42
  }
41
43
  }, [defaultMessages, store]);
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useSyncExternalStore","getOrCreateChatStore","getStatus","m","status","getExtra","extra","useXChat","config","provider","conversationKey","parser","defaultMessages","defaultMessagesLoadedRef","store","current","Array","isArray","getState","setMessages","then","msgs","state","subscribe","onRequest","input","s","isRequesting","setRequesting","setError","setSuggestions","localMessage","transformLocalMessage","addMessage","loadingMessageId","id","loadingMessage","text","role","createdAt","Date","messageType","turnId","loadingRemoved","removeLoading","removeMessage","sendMessage","onUpdate","message","upsertMessage","onSuccess","onError","error","requestFallback","fallbackMsg","onSuggestion","items","abort","messages","loadingMsg","find","clearError","onReload","targetIdx","findIndex","messagesOrFn","currentInfos","toMessageInfoList","next","map","info","setMessage","partialOrFn","partial","updated","undefined","Object","assign","rawInfos","expanded","parsed","length","push","forEach","p","i","suggestions"],"sourceRoot":"../../../src","sources":["hooks/useXChat.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useSyncExternalStore","getOrCreateChatStore","getStatus","m","status","getExtra","extra","useXChat","config","provider","conversationKey","parser","defaultMessages","defaultMessagesLoadedRef","store","current","Array","isArray","getState","setMessages","then","msgs","catch","err","setError","message","state","subscribe","onRequest","input","s","isRequesting","setRequesting","setSuggestions","localMessage","transformLocalMessage","addMessage","loadingMessageId","id","loadingMessage","text","role","createdAt","Date","messageType","turnId","loadingRemoved","removeLoading","removeMessage","sendMessage","onUpdate","upsertMessage","onSuccess","onError","error","requestFallback","fallbackMsg","onSuggestion","items","abort","messages","loadingMsg","find","clearError","onReload","targetIdx","findIndex","messagesOrFn","currentInfos","toMessageInfoList","next","map","info","setMessage","partialOrFn","partial","updated","undefined","Object","assign","rawInfos","expanded","parsed","length","push","forEach","p","i","suggestions"],"sourceRoot":"../../../src","sources":["hooks/useXChat.ts"],"mappings":"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","ignoreList":[]}
@@ -61,11 +61,21 @@ export class XRequest {
61
61
  console.log(TAG, `event #${eventCount} type=${output.event}`);
62
62
  }
63
63
  callbacks.onStream?.(output);
64
- } else {
65
- // 传统 envelope 格式 → 走 SSEParser 去重排序
64
+ return;
65
+ }
66
+
67
+ // 无命名事件 — 判断是 SSEEnvelope 还是原始 JSON(如 OpenAI delta)
68
+ let parsed = null;
69
+ try {
70
+ parsed = JSON.parse(output.data);
71
+ } catch {
72
+ // 非 JSON 数据,原样传递
73
+ }
74
+ const isEnvelope = parsed && typeof parsed.event_id === 'string' && typeof parsed.seq === 'number';
75
+ if (isEnvelope) {
76
+ // SSEEnvelope 协议 → SSEParser 去重排序
66
77
  const envelopes = this.parser.process(output.data);
67
78
  for (const envelope of envelopes) {
68
- // 心跳事件仅用于保持连接,不传给 UI
69
79
  if (envelope.type === 'heartbeat') {
70
80
  heartbeatCount++;
71
81
  if (heartbeatCount <= 3 || heartbeatCount % 10 === 0) {
@@ -73,6 +83,15 @@ export class XRequest {
73
83
  }
74
84
  continue;
75
85
  }
86
+ // done 事件 → 触发 onSuccess 结束请求
87
+ if (envelope.type === 'done') {
88
+ callbacks.onStream?.({
89
+ data: JSON.stringify(envelope),
90
+ event: envelope.type
91
+ });
92
+ callbacks.onSuccess?.('');
93
+ return;
94
+ }
76
95
  eventCount++;
77
96
  if (eventCount <= 3 || eventCount % 20 === 0) {
78
97
  console.log(TAG, `event #${eventCount} type=${envelope.type} seq=${envelope.seq}`);
@@ -82,6 +101,13 @@ export class XRequest {
82
101
  event: envelope.type
83
102
  });
84
103
  }
104
+ } else {
105
+ // 原始 JSON(OpenAI 标准 delta)→ 直接传递,绕过 SSEParser
106
+ eventCount++;
107
+ if (eventCount <= 3 || eventCount % 20 === 0) {
108
+ console.log(TAG, `raw #${eventCount} len=${output.data.length}`);
109
+ }
110
+ callbacks.onStream?.(output);
85
111
  }
86
112
  },
87
113
  onError: error => {
@@ -1 +1 @@
1
- {"version":3,"names":["XStream","SSEParser","TAG","XRequest","stream","parser","constructor","config","create","params","callbacks","abort","reset","baseURL","endpoint","headers","timeout","getToken","reqHeaders","token","Authorization","url","console","log","method","body","eventTypes","eventCount","heartbeatCount","connect","onMessage","output","event","onStream","envelopes","process","data","envelope","type","seq","JSON","stringify","onError","error","message","onComplete","onSuccess","dispose"],"sourceRoot":"../../../src","sources":["tools/XRequest.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["XStream","SSEParser","TAG","XRequest","stream","parser","constructor","config","create","params","callbacks","abort","reset","baseURL","endpoint","headers","timeout","getToken","reqHeaders","token","Authorization","url","console","log","method","body","eventTypes","eventCount","heartbeatCount","connect","onMessage","output","event","onStream","parsed","JSON","parse","data","isEnvelope","event_id","seq","envelopes","process","envelope","type","stringify","onSuccess","length","onError","error","message","onComplete","dispose"],"sourceRoot":"../../../src","sources":["tools/XRequest.ts"],"mappings":"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","ignoreList":[]}
@@ -64,6 +64,15 @@ export class XStream {
64
64
  es.addEventListener('message', event => {
65
65
  resetTimeout();
66
66
  if (event.data) {
67
+ // 标准 SSE 结束标记(OpenAI / DeepSeek 等)
68
+ if (event.data === '[DONE]') {
69
+ const elapsed = ((Date.now() - this.connectTime) / 1000).toFixed(1);
70
+ console.log(TAG, `[DONE] msgs=${this.msgCount} elapsed=${elapsed}s`);
71
+ this.clearTimer();
72
+ callbacks.onComplete?.();
73
+ this.abort();
74
+ return;
75
+ }
67
76
  this.msgCount++;
68
77
  if (this.msgCount <= 3 || this.msgCount % 20 === 0) {
69
78
  console.log(TAG, `message #${this.msgCount} len=${event.data.length}`);
@@ -94,9 +103,10 @@ export class XStream {
94
103
  }
95
104
  es.addEventListener('error', event => {
96
105
  const elapsed = ((Date.now() - this.connectTime) / 1000).toFixed(1);
97
- console.error(TAG, `错误 msgs=${this.msgCount} elapsed=${elapsed}s`, event.message);
106
+ const message = 'message' in event ? event.message : 'SSE 连接错误';
107
+ console.error(TAG, `错误 msgs=${this.msgCount} elapsed=${elapsed}s`, message);
98
108
  this.clearTimer();
99
- callbacks.onError?.(new Error(event.message || 'SSE 连接错误'));
109
+ callbacks.onError?.(new Error(message));
100
110
  });
101
111
  }
102
112
  abort() {
@@ -1 +1 @@
1
- {"version":3,"names":["TAG","defaultTransform","event","data","XStream","es","timeoutTimer","msgCount","connectTime","constructor","config","connect","callbacks","abort","Date","now","url","method","headers","body","timeout","transformStream","console","log","RNEventSource","require","default","JSON","stringify","undefined","resetTimeout","clearTimer","setTimeout","elapsed","toFixed","warn","onError","Error","addEventListener","onOpen","length","output","onMessage","eventTypes","customTypes","type","error","message","close","dispose","clearTimeout"],"sourceRoot":"../../../src","sources":["tools/XStream.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TAG","defaultTransform","event","data","XStream","es","timeoutTimer","msgCount","connectTime","constructor","config","connect","callbacks","abort","Date","now","url","method","headers","body","timeout","transformStream","console","log","RNEventSource","require","default","JSON","stringify","undefined","resetTimeout","clearTimer","setTimeout","elapsed","toFixed","warn","onError","Error","addEventListener","onOpen","onComplete","length","output","onMessage","eventTypes","customTypes","type","message","error","close","dispose","clearTimeout"],"sourceRoot":"../../../src","sources":["tools/XStream.ts"],"mappings":"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","ignoreList":[]}
@@ -18,21 +18,19 @@ export interface ChatProviderProps<Message extends StoreMessage = ChatMessage, I
18
18
  storage?: ChatStorage;
19
19
  models?: ModelInfo[];
20
20
  defaultModel?: string;
21
- generateId?: () => string;
22
- requestPlaceholder?: (input: Input) => Message;
23
21
  requestFallback?: (input: Input, info: {
24
22
  error: Error;
25
23
  }) => Message;
26
24
  children: React.ReactNode;
27
25
  }
28
26
  /** Context 值类型 — 合并 useXChat + useXConversations + useXModel */
29
- interface ChatContextValue<Message = ChatMessage> {
27
+ interface ChatContextValue<Message = ChatMessage, Input = RequestParams<Message>> {
30
28
  messages: MessageInfo<Message>[];
31
29
  isRequesting: boolean;
32
30
  suggestions: SuggestionItem[];
33
31
  error: string | null;
34
- onRequest: (input: unknown) => void;
35
- onReload: (id: string, input: unknown) => void;
32
+ onRequest: (input: Input) => void;
33
+ onReload: (id: string, input: Input) => void;
36
34
  abort: () => void;
37
35
  clearError: () => void;
38
36
  setMessages: (messages: MessageInfo<Message>[] | ((prev: MessageInfo<Message>[]) => MessageInfo<Message>[])) => void;
@@ -59,7 +57,8 @@ export declare function ChatProvider<Message extends StoreMessage = ChatMessage,
59
57
  * 消费 ChatProvider 注入的聊天上下文
60
58
  *
61
59
  * @template Message - 消息类型,默认 ChatMessage
60
+ * @template Input - 请求参数类型,默认 RequestParams<Message>
62
61
  */
63
- export declare function useChatContext<Message = ChatMessage>(): ChatContextValue<Message>;
62
+ export declare function useChatContext<Message = ChatMessage, Input = RequestParams<Message>>(): ChatContextValue<Message, Input>;
64
63
  export {};
65
64
  //# sourceMappingURL=ChatProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatProvider.d.ts","sourceRoot":"","sources":["../../../../src/hooks/ChatProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatProvider.d.ts","sourceRoot":"","sources":["../../../../src/hooks/ChatProvider.tsx"],"names":[],"mappings":"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"}
@@ -21,11 +21,9 @@ export interface UseXChatConfig<Message = ChatMessage, Input = RequestParams<Mes
21
21
  parser?: (message: Message) => Message[];
22
22
  /** 初始消息(同步数组或异步 Promise) */
23
23
  defaultMessages?: Message[] | (() => Promise<Message[]>);
24
- requestPlaceholder?: (input: Input) => Message;
25
24
  requestFallback?: (input: Input, info: {
26
25
  error: Error;
27
26
  }) => Message;
28
- generateId?: () => string;
29
27
  }
30
28
  export interface UseXChatReturn<Message = ChatMessage, Input = RequestParams<Message>> {
31
29
  messages: MessageInfo<Message>[];
@@ -1 +1 @@
1
- {"version":3,"file":"useXChat.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useXChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useXChat.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useXChat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,WAAW,CAAC,OAAO,GAAG,WAAW;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc,CAC7B,OAAO,GAAG,WAAW,EACrB,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,EAC9B,MAAM,GAAG,SAAS;IAElB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,qBAAqB;IACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;IACzC,4BAA4B;IAC5B,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC;CACrE;AAED,MAAM,WAAW,cAAc,CAC7B,OAAO,GAAG,WAAW,EACrB,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC;IAE9B,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,aAAa;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,CACX,QAAQ,EACJ,WAAW,CAAC,OAAO,CAAC,EAAE,GACtB,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,KAC3D,IAAI,CAAC;IACV,UAAU,EAAE,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EACH,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAC7B,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAC/D,IAAI,CAAC;IACV,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAcD,wBAAgB,QAAQ,CACtB,OAAO,SAAS,YAAY,GAAG,WAAW,EAC1C,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,EAC9B,MAAM,GAAG,SAAS,EAElB,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAC7C,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CA2PhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"XRequest.d.ts","sourceRoot":"","sources":["../../../../src/tools/XRequest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,cAAc;IAI5B,MAAM,CACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC,IAAI,CAAC;IAgGhB,KAAK,IAAI,IAAI;IAOb,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"XRequest.d.ts","sourceRoot":"","sources":["../../../../src/tools/XRequest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,cAAc;IAI5B,MAAM,CACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA+HhB,KAAK,IAAI,IAAI;IAOb,OAAO,IAAI,IAAI;CAGhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"XStream.d.ts","sourceRoot":"","sources":["../../../../src/tools/XStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAC;IACzE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAUD,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAAK;gBAEZ,MAAM,EAAE,aAAa;IAIjC,OAAO,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IA8F1C,KAAK,IAAI,IAAI;IAYb,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,UAAU;CAMnB"}
1
+ {"version":3,"file":"XStream.d.ts","sourceRoot":"","sources":["../../../../src/tools/XStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAC;IACzE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAUD,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAAK;gBAEZ,MAAM,EAAE,aAAa;IAIjC,OAAO,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAwG1C,KAAK,IAAI,IAAI;IAYb,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,UAAU;CAMnB"}
@@ -18,21 +18,19 @@ export interface ChatProviderProps<Message extends StoreMessage = ChatMessage, I
18
18
  storage?: ChatStorage;
19
19
  models?: ModelInfo[];
20
20
  defaultModel?: string;
21
- generateId?: () => string;
22
- requestPlaceholder?: (input: Input) => Message;
23
21
  requestFallback?: (input: Input, info: {
24
22
  error: Error;
25
23
  }) => Message;
26
24
  children: React.ReactNode;
27
25
  }
28
26
  /** Context 值类型 — 合并 useXChat + useXConversations + useXModel */
29
- interface ChatContextValue<Message = ChatMessage> {
27
+ interface ChatContextValue<Message = ChatMessage, Input = RequestParams<Message>> {
30
28
  messages: MessageInfo<Message>[];
31
29
  isRequesting: boolean;
32
30
  suggestions: SuggestionItem[];
33
31
  error: string | null;
34
- onRequest: (input: unknown) => void;
35
- onReload: (id: string, input: unknown) => void;
32
+ onRequest: (input: Input) => void;
33
+ onReload: (id: string, input: Input) => void;
36
34
  abort: () => void;
37
35
  clearError: () => void;
38
36
  setMessages: (messages: MessageInfo<Message>[] | ((prev: MessageInfo<Message>[]) => MessageInfo<Message>[])) => void;
@@ -59,7 +57,8 @@ export declare function ChatProvider<Message extends StoreMessage = ChatMessage,
59
57
  * 消费 ChatProvider 注入的聊天上下文
60
58
  *
61
59
  * @template Message - 消息类型,默认 ChatMessage
60
+ * @template Input - 请求参数类型,默认 RequestParams<Message>
62
61
  */
63
- export declare function useChatContext<Message = ChatMessage>(): ChatContextValue<Message>;
62
+ export declare function useChatContext<Message = ChatMessage, Input = RequestParams<Message>>(): ChatContextValue<Message, Input>;
64
63
  export {};
65
64
  //# sourceMappingURL=ChatProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatProvider.d.ts","sourceRoot":"","sources":["../../../../src/hooks/ChatProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatProvider.d.ts","sourceRoot":"","sources":["../../../../src/hooks/ChatProvider.tsx"],"names":[],"mappings":"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"}
@@ -21,11 +21,9 @@ export interface UseXChatConfig<Message = ChatMessage, Input = RequestParams<Mes
21
21
  parser?: (message: Message) => Message[];
22
22
  /** 初始消息(同步数组或异步 Promise) */
23
23
  defaultMessages?: Message[] | (() => Promise<Message[]>);
24
- requestPlaceholder?: (input: Input) => Message;
25
24
  requestFallback?: (input: Input, info: {
26
25
  error: Error;
27
26
  }) => Message;
28
- generateId?: () => string;
29
27
  }
30
28
  export interface UseXChatReturn<Message = ChatMessage, Input = RequestParams<Message>> {
31
29
  messages: MessageInfo<Message>[];
@@ -1 +1 @@
1
- {"version":3,"file":"useXChat.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useXChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useXChat.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useXChat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,WAAW,CAAC,OAAO,GAAG,WAAW;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,cAAc,CAC7B,OAAO,GAAG,WAAW,EACrB,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,EAC9B,MAAM,GAAG,SAAS;IAElB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,qBAAqB;IACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;IACzC,4BAA4B;IAC5B,eAAe,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC;CACrE;AAED,MAAM,WAAW,cAAc,CAC7B,OAAO,GAAG,WAAW,EACrB,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC;IAE9B,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;IACjC,aAAa;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7C,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,CACX,QAAQ,EACJ,WAAW,CAAC,OAAO,CAAC,EAAE,GACtB,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,KAC3D,IAAI,CAAC;IACV,UAAU,EAAE,CACV,EAAE,EAAE,MAAM,EACV,OAAO,EACH,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAC7B,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAC/D,IAAI,CAAC;IACV,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAcD,wBAAgB,QAAQ,CACtB,OAAO,SAAS,YAAY,GAAG,WAAW,EAC1C,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,EAC9B,MAAM,GAAG,SAAS,EAElB,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAC7C,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CA2PhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"XRequest.d.ts","sourceRoot":"","sources":["../../../../src/tools/XRequest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,cAAc;IAI5B,MAAM,CACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC,IAAI,CAAC;IAgGhB,KAAK,IAAI,IAAI;IAOb,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"XRequest.d.ts","sourceRoot":"","sources":["../../../../src/tools/XRequest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKnD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,cAAc;IAI5B,MAAM,CACV,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,iBAAiB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA+HhB,KAAK,IAAI,IAAI;IAOb,OAAO,IAAI,IAAI;CAGhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"XStream.d.ts","sourceRoot":"","sources":["../../../../src/tools/XStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAC;IACzE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAUD,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAAK;gBAEZ,MAAM,EAAE,aAAa;IAIjC,OAAO,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IA8F1C,KAAK,IAAI,IAAI;IAYb,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,UAAU;CAMnB"}
1
+ {"version":3,"file":"XStream.d.ts","sourceRoot":"","sources":["../../../../src/tools/XStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAC;IACzE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAUD,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAAK;gBAEZ,MAAM,EAAE,aAAa;IAIjC,OAAO,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAwG1C,KAAK,IAAI,IAAI;IAYb,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,UAAU;CAMnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unif/react-native-chat-sdk",
3
- "version": "1.1.1",
3
+ "version": "1.3.0",
4
4
  "description": "UNIF React Native Chat SDK — 流式通信、Provider、状态管理",
5
5
  "main": "./lib/commonjs/index.js",
6
6
  "module": "./lib/module/index.js",
@@ -30,21 +30,22 @@ export interface ChatProviderProps<
30
30
  storage?: ChatStorage;
31
31
  models?: ModelInfo[];
32
32
  defaultModel?: string;
33
- generateId?: () => string;
34
- requestPlaceholder?: (input: Input) => Message;
35
33
  requestFallback?: (input: Input, info: { error: Error }) => Message;
36
34
  children: React.ReactNode;
37
35
  }
38
36
 
39
37
  /** Context 值类型 — 合并 useXChat + useXConversations + useXModel */
40
- interface ChatContextValue<Message = ChatMessage> {
38
+ interface ChatContextValue<
39
+ Message = ChatMessage,
40
+ Input = RequestParams<Message>,
41
+ > {
41
42
  // useXChat
42
43
  messages: MessageInfo<Message>[];
43
44
  isRequesting: boolean;
44
45
  suggestions: SuggestionItem[];
45
46
  error: string | null;
46
- onRequest: (input: unknown) => void;
47
- onReload: (id: string, input: unknown) => void;
47
+ onRequest: (input: Input) => void;
48
+ onReload: (id: string, input: Input) => void;
48
49
  abort: () => void;
49
50
  clearError: () => void;
50
51
  setMessages: (
@@ -120,8 +121,6 @@ export function ChatProvider<
120
121
  storage,
121
122
  models = [],
122
123
  defaultModel,
123
- generateId,
124
- requestPlaceholder,
125
124
  requestFallback,
126
125
  children,
127
126
  } = props;
@@ -136,17 +135,9 @@ export function ChatProvider<
136
135
  () => ({
137
136
  conversationKey: conversations.activeId,
138
137
  provider,
139
- generateId,
140
- requestPlaceholder,
141
138
  requestFallback,
142
139
  }),
143
- [
144
- conversations.activeId,
145
- provider,
146
- generateId,
147
- requestPlaceholder,
148
- requestFallback,
149
- ]
140
+ [conversations.activeId, provider, requestFallback]
150
141
  );
151
142
 
152
143
  const chat: UseXChatReturn<Message, Input> = useXChat(chatConfig);
@@ -174,14 +165,16 @@ export function ChatProvider<
174
165
  * 消费 ChatProvider 注入的聊天上下文
175
166
  *
176
167
  * @template Message - 消息类型,默认 ChatMessage
168
+ * @template Input - 请求参数类型,默认 RequestParams<Message>
177
169
  */
178
170
  export function useChatContext<
179
171
  Message = ChatMessage,
180
- >(): ChatContextValue<Message> {
172
+ Input = RequestParams<Message>,
173
+ >(): ChatContextValue<Message, Input> {
181
174
  const ctx = useContext(ChatContext);
182
175
  if (!ctx) {
183
176
  throw new Error('useChatContext must be used within a ChatProvider');
184
177
  }
185
178
  // Context 存储 unknown,读取时通过泛型窄化为具体类型
186
- return ctx as ChatContextValue<Message>;
179
+ return ctx as ChatContextValue<Message, Input>;
187
180
  }
@@ -36,9 +36,7 @@ export interface UseXChatConfig<
36
36
  parser?: (message: Message) => Message[];
37
37
  /** 初始消息(同步数组或异步 Promise) */
38
38
  defaultMessages?: Message[] | (() => Promise<Message[]>);
39
- requestPlaceholder?: (input: Input) => Message;
40
39
  requestFallback?: (input: Input, info: { error: Error }) => Message;
41
- generateId?: () => string;
42
40
  }
43
41
 
44
42
  export interface UseXChatReturn<
@@ -103,9 +101,15 @@ export function useXChat<
103
101
  if (Array.isArray(defaultMessages)) {
104
102
  store.getState().setMessages(defaultMessages);
105
103
  } else {
106
- defaultMessages().then((msgs) => {
107
- store.getState().setMessages(msgs);
108
- });
104
+ defaultMessages()
105
+ .then((msgs) => {
106
+ store.getState().setMessages(msgs);
107
+ })
108
+ .catch((err) => {
109
+ store
110
+ .getState()
111
+ .setError(err?.message ?? 'Failed to load default messages');
112
+ });
109
113
  }
110
114
  }, [defaultMessages, store]);
111
115
 
@@ -89,11 +89,26 @@ export class XRequest {
89
89
  console.log(TAG, `event #${eventCount} type=${output.event}`);
90
90
  }
91
91
  callbacks.onStream?.(output);
92
- } else {
93
- // 传统 envelope 格式 → 走 SSEParser 去重排序
92
+ return;
93
+ }
94
+
95
+ // 无命名事件 — 判断是 SSEEnvelope 还是原始 JSON(如 OpenAI delta)
96
+ let parsed: Record<string, unknown> | null = null;
97
+ try {
98
+ parsed = JSON.parse(output.data);
99
+ } catch {
100
+ // 非 JSON 数据,原样传递
101
+ }
102
+
103
+ const isEnvelope =
104
+ parsed &&
105
+ typeof parsed.event_id === 'string' &&
106
+ typeof parsed.seq === 'number';
107
+
108
+ if (isEnvelope) {
109
+ // SSEEnvelope 协议 → SSEParser 去重排序
94
110
  const envelopes: SSEEnvelope[] = this.parser.process(output.data);
95
111
  for (const envelope of envelopes) {
96
- // 心跳事件仅用于保持连接,不传给 UI
97
112
  if (envelope.type === 'heartbeat') {
98
113
  heartbeatCount++;
99
114
  if (heartbeatCount <= 3 || heartbeatCount % 10 === 0) {
@@ -101,6 +116,15 @@ export class XRequest {
101
116
  }
102
117
  continue;
103
118
  }
119
+ // done 事件 → 触发 onSuccess 结束请求
120
+ if (envelope.type === 'done') {
121
+ callbacks.onStream?.({
122
+ data: JSON.stringify(envelope),
123
+ event: envelope.type,
124
+ });
125
+ callbacks.onSuccess?.('');
126
+ return;
127
+ }
104
128
  eventCount++;
105
129
  if (eventCount <= 3 || eventCount % 20 === 0) {
106
130
  console.log(
@@ -113,6 +137,13 @@ export class XRequest {
113
137
  event: envelope.type,
114
138
  });
115
139
  }
140
+ } else {
141
+ // 原始 JSON(OpenAI 标准 delta)→ 直接传递,绕过 SSEParser
142
+ eventCount++;
143
+ if (eventCount <= 3 || eventCount % 20 === 0) {
144
+ console.log(TAG, `raw #${eventCount} len=${output.data.length}`);
145
+ }
146
+ callbacks.onStream?.(output);
116
147
  }
117
148
  },
118
149
  onError: (error: Error) => {
@@ -5,6 +5,13 @@
5
5
  */
6
6
 
7
7
  import type EventSource from 'react-native-sse';
8
+ import type {
9
+ MessageEvent,
10
+ ErrorEvent,
11
+ TimeoutEvent,
12
+ ExceptionEvent,
13
+ CustomEvent,
14
+ } from 'react-native-sse';
8
15
  import type { SSEOutput } from '../types/provider';
9
16
 
10
17
  const TAG = '[XStream]';
@@ -93,9 +100,18 @@ export class XStream {
93
100
  callbacks.onOpen?.();
94
101
  });
95
102
 
96
- es.addEventListener('message', (event: { data?: string }) => {
103
+ es.addEventListener('message', (event: MessageEvent) => {
97
104
  resetTimeout();
98
105
  if (event.data) {
106
+ // 标准 SSE 结束标记(OpenAI / DeepSeek 等)
107
+ if (event.data === '[DONE]') {
108
+ const elapsed = ((Date.now() - this.connectTime) / 1000).toFixed(1);
109
+ console.log(TAG, `[DONE] msgs=${this.msgCount} elapsed=${elapsed}s`);
110
+ this.clearTimer();
111
+ callbacks.onComplete?.();
112
+ this.abort();
113
+ return;
114
+ }
99
115
  this.msgCount++;
100
116
  if (this.msgCount <= 3 || this.msgCount % 20 === 0) {
101
117
  console.log(
@@ -111,7 +127,7 @@ export class XStream {
111
127
  // 注册自定义命名 SSE 事件类型监听器
112
128
  const { eventTypes: customTypes = [] } = this.config;
113
129
  for (const type of customTypes) {
114
- es.addEventListener(type, (event: { data?: string; type?: string }) => {
130
+ es.addEventListener(type, (event: CustomEvent<string>) => {
115
131
  resetTimeout();
116
132
  if (event.data) {
117
133
  this.msgCount++;
@@ -126,15 +142,16 @@ export class XStream {
126
142
 
127
143
  es.addEventListener(
128
144
  'error',
129
- (event: { type?: string; message?: string }) => {
145
+ (event: ErrorEvent | TimeoutEvent | ExceptionEvent) => {
130
146
  const elapsed = ((Date.now() - this.connectTime) / 1000).toFixed(1);
147
+ const message = 'message' in event ? event.message : 'SSE 连接错误';
131
148
  console.error(
132
149
  TAG,
133
150
  `错误 msgs=${this.msgCount} elapsed=${elapsed}s`,
134
- event.message
151
+ message
135
152
  );
136
153
  this.clearTimer();
137
- callbacks.onError?.(new Error(event.message || 'SSE 连接错误'));
154
+ callbacks.onError?.(new Error(message));
138
155
  }
139
156
  );
140
157
  }