@unif/react-native-chat-sdk 0.4.1 → 0.5.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 (100) hide show
  1. package/lib/commonjs/hooks/ChatProvider.js +6 -5
  2. package/lib/commonjs/hooks/ChatProvider.js.map +1 -1
  3. package/lib/commonjs/hooks/useXChat.js +3 -11
  4. package/lib/commonjs/hooks/useXChat.js.map +1 -1
  5. package/lib/commonjs/hooks/useXConversations.js +24 -4
  6. package/lib/commonjs/hooks/useXConversations.js.map +1 -1
  7. package/lib/commonjs/hooks/useXModel.js.map +1 -1
  8. package/lib/commonjs/index.js +19 -0
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/providers/AbstractChatProvider.js.map +1 -1
  11. package/lib/commonjs/providers/DeepSeekChatProvider.js.map +1 -1
  12. package/lib/commonjs/providers/OpenAIChatProvider.js +1 -1
  13. package/lib/commonjs/providers/OpenAIChatProvider.js.map +1 -1
  14. package/lib/commonjs/stores/chatStore.js +19 -0
  15. package/lib/commonjs/stores/chatStore.js.map +1 -1
  16. package/lib/commonjs/stores/historyStore.js +26 -0
  17. package/lib/commonjs/stores/historyStore.js.map +1 -1
  18. package/lib/commonjs/tools/XRequest.js +1 -1
  19. package/lib/commonjs/tools/XRequest.js.map +1 -1
  20. package/lib/commonjs/tools/XStream.js +0 -1
  21. package/lib/commonjs/tools/XStream.js.map +1 -1
  22. package/lib/module/hooks/ChatProvider.js +6 -5
  23. package/lib/module/hooks/ChatProvider.js.map +1 -1
  24. package/lib/module/hooks/useXChat.js +5 -13
  25. package/lib/module/hooks/useXChat.js.map +1 -1
  26. package/lib/module/hooks/useXConversations.js +24 -4
  27. package/lib/module/hooks/useXConversations.js.map +1 -1
  28. package/lib/module/hooks/useXModel.js.map +1 -1
  29. package/lib/module/index.js +2 -0
  30. package/lib/module/index.js.map +1 -1
  31. package/lib/module/providers/AbstractChatProvider.js.map +1 -1
  32. package/lib/module/providers/DeepSeekChatProvider.js.map +1 -1
  33. package/lib/module/providers/OpenAIChatProvider.js +1 -1
  34. package/lib/module/providers/OpenAIChatProvider.js.map +1 -1
  35. package/lib/module/stores/chatStore.js +16 -0
  36. package/lib/module/stores/chatStore.js.map +1 -1
  37. package/lib/module/stores/historyStore.js +26 -0
  38. package/lib/module/stores/historyStore.js.map +1 -1
  39. package/lib/module/stores/modelStore.js.map +1 -1
  40. package/lib/module/stores/sessionStore.js.map +1 -1
  41. package/lib/module/tools/XRequest.js +1 -1
  42. package/lib/module/tools/XRequest.js.map +1 -1
  43. package/lib/module/tools/XStream.js +0 -1
  44. package/lib/module/tools/XStream.js.map +1 -1
  45. package/lib/typescript/commonjs/hooks/ChatProvider.d.ts +3 -2
  46. package/lib/typescript/commonjs/hooks/ChatProvider.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/hooks/useXChat.d.ts +1 -2
  48. package/lib/typescript/commonjs/hooks/useXChat.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/hooks/useXConversations.d.ts +3 -0
  50. package/lib/typescript/commonjs/hooks/useXConversations.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/index.d.ts +3 -2
  52. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/providers/AbstractChatProvider.d.ts.map +1 -1
  54. package/lib/typescript/commonjs/providers/DeepSeekChatProvider.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/providers/OpenAIChatProvider.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/stores/chatStore.d.ts +3 -0
  57. package/lib/typescript/commonjs/stores/chatStore.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/stores/historyStore.d.ts +1 -0
  59. package/lib/typescript/commonjs/stores/historyStore.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/tools/SSEParser.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/tools/XStream.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/types/provider.d.ts.map +1 -1
  63. package/lib/typescript/module/hooks/ChatProvider.d.ts +3 -2
  64. package/lib/typescript/module/hooks/ChatProvider.d.ts.map +1 -1
  65. package/lib/typescript/module/hooks/useXChat.d.ts +1 -2
  66. package/lib/typescript/module/hooks/useXChat.d.ts.map +1 -1
  67. package/lib/typescript/module/hooks/useXConversations.d.ts +3 -0
  68. package/lib/typescript/module/hooks/useXConversations.d.ts.map +1 -1
  69. package/lib/typescript/module/index.d.ts +3 -2
  70. package/lib/typescript/module/index.d.ts.map +1 -1
  71. package/lib/typescript/module/providers/AbstractChatProvider.d.ts.map +1 -1
  72. package/lib/typescript/module/providers/DeepSeekChatProvider.d.ts.map +1 -1
  73. package/lib/typescript/module/providers/OpenAIChatProvider.d.ts.map +1 -1
  74. package/lib/typescript/module/stores/chatStore.d.ts +3 -0
  75. package/lib/typescript/module/stores/chatStore.d.ts.map +1 -1
  76. package/lib/typescript/module/stores/historyStore.d.ts +1 -0
  77. package/lib/typescript/module/stores/historyStore.d.ts.map +1 -1
  78. package/lib/typescript/module/tools/SSEParser.d.ts.map +1 -1
  79. package/lib/typescript/module/tools/XStream.d.ts.map +1 -1
  80. package/lib/typescript/module/types/provider.d.ts.map +1 -1
  81. package/package.json +1 -1
  82. package/src/hooks/ChatProvider.tsx +24 -12
  83. package/src/hooks/useXChat.ts +11 -23
  84. package/src/hooks/useXConversations.ts +39 -10
  85. package/src/hooks/useXModel.ts +2 -2
  86. package/src/index.ts +31 -19
  87. package/src/providers/AbstractChatProvider.ts +7 -3
  88. package/src/providers/DeepSeekChatProvider.ts +4 -7
  89. package/src/providers/OpenAIChatProvider.ts +6 -6
  90. package/src/stores/chatStore.ts +29 -10
  91. package/src/stores/historyStore.ts +45 -8
  92. package/src/stores/modelStore.ts +1 -1
  93. package/src/stores/sessionStore.ts +1 -1
  94. package/src/tools/SSEParser.ts +1 -1
  95. package/src/tools/XRequest.ts +1 -1
  96. package/src/tools/XStream.ts +0 -1
  97. package/src/types/provider.ts +2 -2
  98. package/lib/commonjs/index.md +0 -188
  99. package/lib/module/index.md +0 -188
  100. package/src/index.md +0 -188
@@ -41,17 +41,18 @@ function ChatProvider(props) {
41
41
  requestFallback,
42
42
  children
43
43
  } = props;
44
+ const convOptions = (0, _react.useMemo)(() => ({
45
+ storage: storage ?? memoryStorage
46
+ }), [storage]);
47
+ const conversations = (0, _useXConversations.useXConversations)(convOptions);
44
48
  const chatConfig = (0, _react.useMemo)(() => ({
49
+ conversationKey: conversations.activeId,
45
50
  provider,
46
51
  generateId,
47
52
  requestPlaceholder,
48
53
  requestFallback
49
- }), [provider, generateId, requestPlaceholder, requestFallback]);
54
+ }), [conversations.activeId, provider, generateId, requestPlaceholder, requestFallback]);
50
55
  const chat = (0, _useXChat.useXChat)(chatConfig);
51
- const convOptions = (0, _react.useMemo)(() => ({
52
- storage: storage ?? memoryStorage
53
- }), [storage]);
54
- const conversations = (0, _useXConversations.useXConversations)(convOptions);
55
56
  const model = (0, _useXModel.useXModel)({
56
57
  models,
57
58
  defaultModel
@@ -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","ChatProvider","props","provider","storage","models","defaultModel","generateId","requestPlaceholder","requestFallback","children","chatConfig","useMemo","chat","useXChat","convOptions","conversations","useXConversations","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","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":[]}
@@ -14,10 +14,10 @@ var _chatStore = require("../stores/chatStore");
14
14
 
15
15
  function useXChat(config) {
16
16
  const {
17
- provider
17
+ provider,
18
+ conversationKey
18
19
  } = config;
19
- const storeRef = (0, _react.useRef)((0, _chatStore.createChatStore)());
20
- const store = storeRef.current;
20
+ const store = (0, _react.useMemo)(() => (0, _chatStore.getOrCreateChatStore)(conversationKey), [conversationKey]);
21
21
 
22
22
  // 使用 useSyncExternalStore 订阅 zustand store 变化
23
23
  const state = (0, _react.useSyncExternalStore)(store.subscribe, store.getState, store.getState);
@@ -90,12 +90,6 @@ function useXChat(config) {
90
90
  }
91
91
  store.getState().setRequesting(false);
92
92
  }, [provider, store]);
93
- const resetChat = (0, _react.useCallback)(() => {
94
- store.getState().resetChat();
95
- }, [store]);
96
- const loadSession = (0, _react.useCallback)(messages => {
97
- store.getState().loadSession(messages);
98
- }, [store]);
99
93
  const clearError = (0, _react.useCallback)(() => {
100
94
  store.getState().setError(null);
101
95
  }, [store]);
@@ -192,8 +186,6 @@ function useXChat(config) {
192
186
  onRequest,
193
187
  onReload,
194
188
  abort,
195
- resetChat,
196
- loadSession,
197
189
  clearError,
198
190
  setMessages,
199
191
  setMessage,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_chatStore","useXChat","config","provider","storeRef","useRef","createChatStore","store","current","state","useSyncExternalStore","subscribe","getState","onRequest","useCallback","input","s","isRequesting","setRequesting","setError","setSuggestions","localMessage","transformLocalMessage","localChatMessage","addMessage","loadingMessageId","id","loadingMessage","text","role","createdAt","Date","messageType","status","turnId","loadingRemoved","removeLoading","removeMessage","sendMessage","onUpdate","message","upsertMessage","onSuccess","m","onError","error","requestFallback","fallbackMsg","onSuggestion","items","abort","msgs","messages","loadingMsg","find","resetChat","loadSession","clearError","onReload","targetIdx","findIndex","setMessages","messagesOrFn","currentInfos","map","extra","next","info","setMessage","partialOrFn","partial","updated","undefined","Object","assign","useEffect","requesting","suggestions"],"sourceRoot":"../../../src","sources":["hooks/useXChat.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_chatStore","useXChat","config","provider","conversationKey","store","useMemo","getOrCreateChatStore","state","useSyncExternalStore","subscribe","getState","onRequest","useCallback","input","s","isRequesting","setRequesting","setError","setSuggestions","localMessage","transformLocalMessage","localChatMessage","addMessage","loadingMessageId","id","loadingMessage","text","role","createdAt","Date","messageType","status","turnId","loadingRemoved","removeLoading","removeMessage","sendMessage","onUpdate","message","upsertMessage","onSuccess","m","onError","error","requestFallback","fallbackMsg","onSuggestion","items","abort","msgs","messages","loadingMsg","find","clearError","onReload","targetIdx","findIndex","setMessages","messagesOrFn","current","currentInfos","map","extra","next","info","setMessage","partialOrFn","partial","updated","undefined","Object","assign","useEffect","requesting","suggestions"],"sourceRoot":"../../../src","sources":["hooks/useXChat.ts"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useXConversations = useXConversations;
7
7
  var _react = require("react");
8
8
  var _historyStore = require("../stores/historyStore");
9
+ var _chatStore = require("../stores/chatStore");
9
10
  /**
10
11
  * useXConversations — 会话管理 hook
11
12
  *
@@ -19,7 +20,7 @@ function useXConversations(options) {
19
20
  const historyRef = (0, _react.useRef)((0, _historyStore.createHistoryStore)(storage));
20
21
  const history = historyRef.current;
21
22
  const [sessions, setSessions] = (0, _react.useState)(history.sessions);
22
- const [activeId, setActiveId] = (0, _react.useState)('');
23
+ const [activeId, setActiveIdState] = (0, _react.useState)('');
23
24
 
24
25
  // 初始化加载
25
26
  (0, _react.useEffect)(() => {
@@ -31,24 +32,40 @@ function useXConversations(options) {
31
32
  });
32
33
  // eslint-disable-next-line react-hooks/exhaustive-deps
33
34
  }, []);
35
+ const setActiveId = (0, _react.useCallback)(id => {
36
+ setActiveIdState(id);
37
+ }, []);
34
38
  const switchSession = (0, _react.useCallback)(async id => {
35
- setActiveId(id);
39
+ setActiveIdState(id);
36
40
  return await history.loadSessionMessages(id);
37
41
  }, [history]);
38
42
  const newSession = (0, _react.useCallback)(() => {
39
- setActiveId('');
43
+ setActiveIdState('');
40
44
  }, []);
41
45
  const deleteSession = (0, _react.useCallback)(async id => {
42
46
  await history.deleteSession(id);
43
47
  setSessions([...history.sessions]);
44
48
  if (activeId === id) {
45
- setActiveId('');
49
+ setActiveIdState('');
46
50
  }
47
51
  }, [history, activeId]);
48
52
  const archiveSession = (0, _react.useCallback)(async (id, title, messages) => {
49
53
  await history.archiveSession(id, title, messages);
50
54
  setSessions([...history.sessions]);
51
55
  }, [history]);
56
+ const saveSession = (0, _react.useCallback)(async (id, title, messages) => {
57
+ await history.saveSession(id, title, messages);
58
+ setSessions([...history.sessions]);
59
+ }, [history]);
60
+ const loadSessionMessages = (0, _react.useCallback)(async id => {
61
+ const msgs = await history.loadSessionMessages(id);
62
+ // 将消息加载到对应的内存 store
63
+ if (msgs.length > 0) {
64
+ const store = (0, _chatStore.getOrCreateChatStore)(id);
65
+ store.getState().loadSession(msgs);
66
+ }
67
+ return msgs;
68
+ }, [history]);
52
69
  const updateSession = (0, _react.useCallback)((id, data) => {
53
70
  const session = history.sessions.find(s => s.id === id);
54
71
  if (session && data.title) {
@@ -59,10 +76,13 @@ function useXConversations(options) {
59
76
  return {
60
77
  sessions,
61
78
  activeId,
79
+ setActiveId,
62
80
  switchSession,
63
81
  newSession,
64
82
  deleteSession,
65
83
  archiveSession,
84
+ saveSession,
85
+ loadSessionMessages,
66
86
  updateSession
67
87
  };
68
88
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_historyStore","useXConversations","options","storage","historyRef","useRef","createHistoryStore","history","current","sessions","setSessions","useState","activeId","setActiveId","useEffect","archiveSession","then","deleteSession","switchSession","useCallback","id","loadSessionMessages","newSession","title","messages","updateSession","data","session","find","s"],"sourceRoot":"../../../src","sources":["hooks/useXConversations.ts"],"mappings":";;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAPA;AACA;AACA;AACA;AACA;;AAcO,SAASE,iBAAiBA,CAACC,OAAiC,EAAE;EACnE,MAAM;IAACC;EAAO,CAAC,GAAGD,OAAO;EAEzB,MAAME,UAAU,GAAG,IAAAC,aAAM,EAAC,IAAAC,gCAAkB,EAACH,OAAO,CAAC,CAAC;EACtD,MAAMI,OAAO,GAAGH,UAAU,CAACI,OAAO;EAElC,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAACJ,OAAO,CAACE,QAAQ,CAAC;EAC1D,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;;EAE5C;EACA,IAAAG,gBAAS,EAAC,MAAM;IACd;IACAP,OAAO,CAACQ,cAAc,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,MAAM;MACpDT,OAAO,CAACU,aAAa,CAAC,UAAU,CAAC,CAACD,IAAI,CAAC,MAAM;QAC3CN,WAAW,CAAC,CAAC,GAAGH,OAAO,CAACE,QAAQ,CAAC,CAAC;MACpC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMS,aAAa,GAAG,IAAAC,kBAAW,EAC/B,MAAOC,EAAU,IAA6B;IAC5CP,WAAW,CAACO,EAAE,CAAC;IACf,OAAO,MAAMb,OAAO,CAACc,mBAAmB,CAACD,EAAE,CAAC;EAC9C,CAAC,EACD,CAACb,OAAO,CACV,CAAC;EAED,MAAMe,UAAU,GAAG,IAAAH,kBAAW,EAAC,MAAM;IACnCN,WAAW,CAAC,EAAE,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,aAAa,GAAG,IAAAE,kBAAW,EAC/B,MAAOC,EAAU,IAAK;IACpB,MAAMb,OAAO,CAACU,aAAa,CAACG,EAAE,CAAC;IAC/BV,WAAW,CAAC,CAAC,GAAGH,OAAO,CAACE,QAAQ,CAAC,CAAC;IAClC,IAAIG,QAAQ,KAAKQ,EAAE,EAAE;MACnBP,WAAW,CAAC,EAAE,CAAC;IACjB;EACF,CAAC,EACD,CAACN,OAAO,EAAEK,QAAQ,CACpB,CAAC;EAED,MAAMG,cAAc,GAAG,IAAAI,kBAAW,EAChC,OAAOC,EAAU,EAAEG,KAAa,EAAEC,QAAuB,KAAK;IAC5D,MAAMjB,OAAO,CAACQ,cAAc,CAACK,EAAE,EAAEG,KAAK,EAAEC,QAAQ,CAAC;IACjDd,WAAW,CAAC,CAAC,GAAGH,OAAO,CAACE,QAAQ,CAAC,CAAC;EACpC,CAAC,EACD,CAACF,OAAO,CACV,CAAC;EAED,MAAMkB,aAAa,GAAG,IAAAN,kBAAW,EAC/B,CAACC,EAAU,EAAEM,IAAgC,KAAK;IAChD,MAAMC,OAAO,GAAGpB,OAAO,CAACE,QAAQ,CAACmB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACT,EAAE,KAAKA,EAAE,CAAC;IACzD,IAAIO,OAAO,IAAID,IAAI,CAACH,KAAK,EAAE;MACzBI,OAAO,CAACJ,KAAK,GAAGG,IAAI,CAACH,KAAK;MAC1Bb,WAAW,CAAC,CAAC,GAAGH,OAAO,CAACE,QAAQ,CAAC,CAAC;IACpC;EACF,CAAC,EACD,CAACF,OAAO,CACV,CAAC;EAED,OAAO;IACLE,QAAQ;IACRG,QAAQ;IACRM,aAAa;IACbI,UAAU;IACVL,aAAa;IACbF,cAAc;IACdU;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_historyStore","_chatStore","useXConversations","options","storage","historyRef","useRef","createHistoryStore","history","current","sessions","setSessions","useState","activeId","setActiveIdState","useEffect","archiveSession","then","deleteSession","setActiveId","useCallback","id","switchSession","loadSessionMessages","newSession","title","messages","saveSession","msgs","length","store","getOrCreateChatStore","getState","loadSession","updateSession","data","session","find","s"],"sourceRoot":"../../../src","sources":["hooks/useXConversations.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useXModel","options","models","defaultModel","selectedModel","setSelected","useState","id","setSelectedModel","useCallback"],"sourceRoot":"../../../src","sources":["hooks/useXModel.ts"],"mappings":";;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AAJA;AACA;AACA;;AAeO,SAASC,SAASA,CAACC,OAAyB,EAAE;EACnD,MAAM;IAACC,MAAM;IAAEC;EAAY,CAAC,GAAGF,OAAO;EACtC,MAAM,CAACG,aAAa,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAC3CH,YAAY,IAAID,MAAM,CAAC,CAAC,CAAC,EAAEK,EAAE,IAAI,EACnC,CAAC;EAED,MAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAAEF,EAAU,IAAK;IACnDF,WAAW,CAACE,EAAE,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLH,aAAa;IACbF,MAAM;IACNM;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","useXModel","options","models","defaultModel","selectedModel","setSelected","useState","id","setSelectedModel","useCallback"],"sourceRoot":"../../../src","sources":["hooks/useXModel.ts"],"mappings":";;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AAJA;AACA;AACA;;AAeO,SAASC,SAASA,CAACC,OAAyB,EAAE;EACnD,MAAM;IAAEC,MAAM;IAAEC;EAAa,CAAC,GAAGF,OAAO;EACxC,MAAM,CAACG,aAAa,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAC3CH,YAAY,IAAID,MAAM,CAAC,CAAC,CAAC,EAAEK,EAAE,IAAI,EACnC,CAAC;EAED,MAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAAEF,EAAU,IAAK;IACnDF,WAAW,CAACE,EAAE,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLH,aAAa;IACbF,MAAM;IACNM;EACF,CAAC;AACH","ignoreList":[]}
@@ -45,6 +45,24 @@ Object.defineProperty(exports, "XStream", {
45
45
  return _XStream.XStream;
46
46
  }
47
47
  });
48
+ Object.defineProperty(exports, "deleteChatStore", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _chatStore.deleteChatStore;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "getChatStoreMessages", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _chatStore.getChatStoreMessages;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "getOrCreateChatStore", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _chatStore.getOrCreateChatStore;
64
+ }
65
+ });
48
66
  Object.defineProperty(exports, "useChatContext", {
49
67
  enumerable: true,
50
68
  get: function () {
@@ -75,6 +93,7 @@ var _SSEParser = require("./tools/SSEParser");
75
93
  var _AbstractChatProvider = require("./providers/AbstractChatProvider");
76
94
  var _OpenAIChatProvider = require("./providers/OpenAIChatProvider");
77
95
  var _DeepSeekChatProvider = require("./providers/DeepSeekChatProvider");
96
+ var _chatStore = require("./stores/chatStore");
78
97
  var _useXChat = require("./hooks/useXChat");
79
98
  var _useXConversations = require("./hooks/useXConversations");
80
99
  var _useXModel = require("./hooks/useXModel");
@@ -1 +1 @@
1
- {"version":3,"names":["_XStream","require","_XRequest","_SSEParser","_AbstractChatProvider","_OpenAIChatProvider","_DeepSeekChatProvider","_useXChat","_useXConversations","_useXModel","_ChatProvider"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,SAAA,GAAAD,OAAA;AAGA,IAAAE,UAAA,GAAAF,OAAA;AAGA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAEA,IAAAK,qBAAA,GAAAL,OAAA;AAOA,IAAAM,SAAA,GAAAN,OAAA;AAGA,IAAAO,kBAAA,GAAAP,OAAA;AAGA,IAAAQ,UAAA,GAAAR,OAAA;AAGA,IAAAS,aAAA,GAAAT,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_XStream","require","_XRequest","_SSEParser","_AbstractChatProvider","_OpenAIChatProvider","_DeepSeekChatProvider","_chatStore","_useXChat","_useXConversations","_useXModel","_ChatProvider"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,SAAA,GAAAD,OAAA;AAGA,IAAAE,UAAA,GAAAF,OAAA;AAGA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,mBAAA,GAAAJ,OAAA;AAEA,IAAAK,qBAAA,GAAAL,OAAA;AAKA,IAAAM,UAAA,GAAAN,OAAA;AAOA,IAAAO,SAAA,GAAAP,OAAA;AAOA,IAAAQ,kBAAA,GAAAR,OAAA;AAMA,IAAAS,UAAA,GAAAT,OAAA;AAGA,IAAAU,aAAA,GAAAV,OAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["AbstractChatProvider","constructor","config","request","sendMessage","input","callbacks","params","transformParams","currentMessage","requestCallbacks","onStream","chunk","transformMessage","onUpdate","onSuccess","onError","error","Error","message","create","abort","exports"],"sourceRoot":"../../../src","sources":["providers/AbstractChatProvider.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;;AAMO,MAAeA,oBAAoB,CAIxC;EAGAC,WAAWA,CAACC,MAA6B,EAAE;IACzC,IAAI,CAACC,OAAO,GAAGD,MAAM,CAACC,OAAO;EAC/B;;EAEA;AACF;AACA;AACA;;EAGE;AACF;AACA;AACA;;EAGE;AACF;AACA;AACA;;EAGE;AACF;AACA;EACEC,WAAWA,CAACC,KAAY,EAAEC,SAAqC,EAAQ;IACrE,MAAMC,MAAM,GAAG,IAAI,CAACC,eAAe,CAACH,KAAK,CAAC;IAC1C,IAAII,cAAmC;IAEvC,MAAMC,gBAAmC,GAAG;MAC1CC,QAAQ,EAAGC,KAAK,IAAK;QACnBH,cAAc,GAAG,IAAI,CAACI,gBAAgB,CACpCD,KAAK,EACLH,cACF,CAAC;QACDH,SAAS,CAACQ,QAAQ,CAACL,cAAc,CAAC;MACpC,CAAC;MACDM,SAAS,EAAEA,CAAA,KAAM;QACf,IAAIN,cAAc,EAAE;UAClBH,SAAS,CAACS,SAAS,CAACN,cAAc,CAAC;QACrC;MACF,CAAC;MACDO,OAAO,EAAGC,KAAK,IAAK;QAClBX,SAAS,CAACU,OAAO,CAAC,IAAIE,KAAK,CAACD,KAAK,CAACE,OAAO,CAAC,CAAC;MAC7C;IACF,CAAC;IAED,IAAI,CAAChB,OAAO,CAACiB,MAAM,CAACb,MAAM,EAAEG,gBAAgB,CAAC;EAC/C;;EAEA;AACF;AACA;EACEW,KAAKA,CAAA,EAAS;IACZ,IAAI,CAAClB,OAAO,CAACkB,KAAK,CAAC,CAAC;EACtB;AACF;AAACC,OAAA,CAAAtB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["AbstractChatProvider","constructor","config","request","sendMessage","input","callbacks","params","transformParams","currentMessage","requestCallbacks","onStream","chunk","transformMessage","onUpdate","onSuccess","onError","error","Error","message","create","abort","exports"],"sourceRoot":"../../../src","sources":["providers/AbstractChatProvider.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;;AAUO,MAAeA,oBAAoB,CAIxC;EAGAC,WAAWA,CAACC,MAA6B,EAAE;IACzC,IAAI,CAACC,OAAO,GAAGD,MAAM,CAACC,OAAO;EAC/B;;EAEA;AACF;AACA;AACA;;EAGE;AACF;AACA;AACA;;EAGE;AACF;AACA;AACA;;EAGE;AACF;AACA;EACEC,WAAWA,CAACC,KAAY,EAAEC,SAAqC,EAAQ;IACrE,MAAMC,MAAM,GAAG,IAAI,CAACC,eAAe,CAACH,KAAK,CAAC;IAC1C,IAAII,cAAmC;IAEvC,MAAMC,gBAAmC,GAAG;MAC1CC,QAAQ,EAAGC,KAAK,IAAK;QACnBH,cAAc,GAAG,IAAI,CAACI,gBAAgB,CACpCD,KAAK,EACLH,cACF,CAAC;QACDH,SAAS,CAACQ,QAAQ,CAACL,cAAc,CAAC;MACpC,CAAC;MACDM,SAAS,EAAEA,CAAA,KAAM;QACf,IAAIN,cAAc,EAAE;UAClBH,SAAS,CAACS,SAAS,CAACN,cAAc,CAAC;QACrC;MACF,CAAC;MACDO,OAAO,EAAGC,KAAK,IAAK;QAClBX,SAAS,CAACU,OAAO,CAAC,IAAIE,KAAK,CAACD,KAAK,CAACE,OAAO,CAAC,CAAC;MAC7C;IACF,CAAC;IAED,IAAI,CAAChB,OAAO,CAACiB,MAAM,CAACb,MAAM,EAAEG,gBAAgB,CAAC;EAC/C;;EAEA;AACF;AACA;EACEW,KAAKA,CAAA,EAAS;IACZ,IAAI,CAAClB,OAAO,CAACkB,KAAK,CAAC,CAAC;EACtB;AACF;AAACC,OAAA,CAAAtB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_OpenAIChatProvider","require","DeepSeekChatProvider","OpenAIChatProvider","constructor","config","baseURL","apiKey","model","getToken","transformMessage","output","current","raw","data","trim","id","text","role","createdAt","Date","messageType","status","turnId","parsed","JSON","parse","delta","choices","content","reasoningContent","reasoning_content","finishReason","finish_reason","prevText","newText","includes","now","exports"],"sourceRoot":"../../../src","sources":["providers/DeepSeekChatProvider.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_OpenAIChatProvider","require","DeepSeekChatProvider","OpenAIChatProvider","constructor","config","baseURL","apiKey","model","getToken","transformMessage","output","current","raw","data","trim","id","text","role","createdAt","Date","messageType","status","turnId","parsed","JSON","parse","delta","choices","content","reasoningContent","reasoning_content","finishReason","finish_reason","prevText","newText","includes","now","exports"],"sourceRoot":"../../../src","sources":["providers/DeepSeekChatProvider.ts"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,7 @@ class OpenAIChatProvider extends _AbstractChatProvider.AbstractChatProvider {
18
18
  constructor(config) {
19
19
  const headers = {};
20
20
  if (config.apiKey) {
21
- headers['Authorization'] = `Bearer ${config.apiKey}`;
21
+ headers.Authorization = `Bearer ${config.apiKey}`;
22
22
  }
23
23
  const request = new _XRequest.XRequest({
24
24
  baseURL: config.baseURL,
@@ -1 +1 @@
1
- {"version":3,"names":["_AbstractChatProvider","require","_XRequest","_idCounter","genId","Date","now","OpenAIChatProvider","AbstractChatProvider","constructor","config","headers","apiKey","request","XRequest","baseURL","endpoint","getToken","model","transformParams","input","messages","map","m","role","content","text","push","message","stream","transformLocalMessage","id","createdAt","messageType","status","turnId","extra","transformMessage","output","current","raw","data","trim","createEmptyAssistant","parsed","JSON","parse","delta","choices","finishReason","finish_reason","prevText","exports"],"sourceRoot":"../../../src","sources":["providers/OpenAIChatProvider.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_AbstractChatProvider","require","_XRequest","_idCounter","genId","Date","now","OpenAIChatProvider","AbstractChatProvider","constructor","config","headers","apiKey","Authorization","request","XRequest","baseURL","endpoint","getToken","model","transformParams","input","messages","map","m","role","content","text","push","message","stream","transformLocalMessage","id","createdAt","messageType","status","turnId","extra","transformMessage","output","current","raw","data","trim","createEmptyAssistant","parsed","JSON","parse","delta","choices","finishReason","finish_reason","prevText","exports"],"sourceRoot":"../../../src","sources":["providers/OpenAIChatProvider.ts"],"mappings":"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","ignoreList":[]}
@@ -4,12 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createChatStore = void 0;
7
+ exports.deleteChatStore = deleteChatStore;
8
+ exports.getChatStoreMessages = getChatStoreMessages;
9
+ exports.getOrCreateChatStore = getOrCreateChatStore;
7
10
  var _zustand = require("zustand");
8
11
  /**
9
12
  * Chat 消息状态管理(Zustand)
10
13
  * 内部 store,通过 useXChat hook 封装后对外暴露
11
14
  */
12
15
 
16
+ // 全局 store 管理器 — 多会话内存常驻
17
+ const chatStoreMap = new Map();
18
+ function getOrCreateChatStore(key) {
19
+ let store = chatStoreMap.get(key);
20
+ if (!store) {
21
+ store = createChatStore();
22
+ chatStoreMap.set(key, store);
23
+ }
24
+ return store;
25
+ }
26
+ function deleteChatStore(key) {
27
+ chatStoreMap.delete(key);
28
+ }
29
+ function getChatStoreMessages(key) {
30
+ return chatStoreMap.get(key)?.getState()?.messages;
31
+ }
13
32
  const createChatStore = () => (0, _zustand.create)((set, get) => ({
14
33
  messages: [],
15
34
  streamingText: '',
@@ -1 +1 @@
1
- {"version":3,"names":["_zustand","require","createChatStore","create","set","get","messages","streamingText","suggestions","isRequesting","error","addMessage","message","state","updateMessage","id","updater","map","m","upsertMessage","existingIdx","findIndex","newMessages","setMessages","messagesOrFn","setMessage","partialOrFn","partial","removeMessage","filter","setSuggestions","items","setRequesting","v","setError","resetChat","loadSession","exports"],"sourceRoot":"../../../src","sources":["stores/chatStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_zustand","require","chatStoreMap","Map","getOrCreateChatStore","key","store","get","createChatStore","set","deleteChatStore","delete","getChatStoreMessages","getState","messages","create","streamingText","suggestions","isRequesting","error","addMessage","message","state","updateMessage","id","updater","map","m","upsertMessage","existingIdx","findIndex","newMessages","setMessages","messagesOrFn","setMessage","partialOrFn","partial","removeMessage","filter","setSuggestions","items","setRequesting","v","setError","resetChat","loadSession","exports"],"sourceRoot":"../../../src","sources":["stores/chatStore.ts"],"mappings":"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","ignoreList":[]}
@@ -57,6 +57,32 @@ function createHistoryStore(storage) {
57
57
  }
58
58
  await saveIndex();
59
59
  },
60
+ saveSession: async (id, title, messages) => {
61
+ await loadIndex();
62
+ if (messages.length === 0) return;
63
+ await storage.setItem(`${MESSAGE_KEY_PREFIX}${id}`, JSON.stringify(messages));
64
+ const lastMsg = messages[0];
65
+ const summary = {
66
+ id,
67
+ title,
68
+ lastMessage: lastMsg?.text?.slice(0, 50) ?? '',
69
+ timestamp: Date.now(),
70
+ messageCount: messages.length
71
+ };
72
+ const idx = sessions.findIndex(s => s.id === id);
73
+ if (idx >= 0) {
74
+ sessions[idx] = summary;
75
+ } else {
76
+ sessions.unshift(summary);
77
+ }
78
+
79
+ // FIFO 淘汰
80
+ if (sessions.length > MAX_SESSIONS) {
81
+ const removed = sessions.splice(MAX_SESSIONS);
82
+ await Promise.all(removed.map(s => storage.removeItem(`${MESSAGE_KEY_PREFIX}${s.id}`)));
83
+ }
84
+ await saveIndex();
85
+ },
60
86
  loadSessionMessages: async id => {
61
87
  const raw = await storage.getItem(`${MESSAGE_KEY_PREFIX}${id}`);
62
88
  if (!raw) return [];
@@ -1 +1 @@
1
- {"version":3,"names":["MAX_SESSIONS","MESSAGE_KEY_PREFIX","createHistoryStore","storage","sessions","initialized","loadIndex","raw","getItem","JSON","parse","saveIndex","setItem","stringify","archiveSession","id","title","messages","length","lastMsg","summary","lastMessage","text","slice","timestamp","Date","now","messageCount","filter","s","removed","splice","Promise","all","map","removeItem","loadSessionMessages","deleteSession","clearAll"],"sourceRoot":"../../../src","sources":["stores/historyStore.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["MAX_SESSIONS","MESSAGE_KEY_PREFIX","createHistoryStore","storage","sessions","initialized","loadIndex","raw","getItem","JSON","parse","saveIndex","setItem","stringify","archiveSession","id","title","messages","length","lastMsg","summary","lastMessage","text","slice","timestamp","Date","now","messageCount","filter","s","removed","splice","Promise","all","map","removeItem","saveSession","idx","findIndex","unshift","loadSessionMessages","deleteSession","clearAll"],"sourceRoot":"../../../src","sources":["stores/historyStore.ts"],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,7 @@ class XRequest {
38
38
  try {
39
39
  const token = await getToken();
40
40
  if (token) {
41
- reqHeaders['Authorization'] = `Bearer ${token}`;
41
+ reqHeaders.Authorization = `Bearer ${token}`;
42
42
  }
43
43
  } catch {
44
44
  // token 获取失败,继续无认证请求
@@ -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","url","console","log","XStream","method","body","eventCount","heartbeatCount","connect","onMessage","output","envelopes","process","data","envelope","type","seq","onStream","JSON","stringify","event","onError","error","message","onComplete","onSuccess","dispose","exports"],"sourceRoot":"../../../src","sources":["tools/XRequest.ts"],"mappings":"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","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","eventCount","heartbeatCount","connect","onMessage","output","envelopes","process","data","envelope","type","seq","onStream","JSON","stringify","event","onError","error","message","onComplete","onSuccess","dispose","exports"],"sourceRoot":"../../../src","sources":["tools/XRequest.ts"],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,6 @@ class XStream {
38
38
  console.log(TAG, '连接', url, `timeout=${timeout}ms`);
39
39
 
40
40
  // react-native-sse 动态 require,避免非 RN 环境报错
41
- // eslint-disable-next-line @typescript-eslint/no-var-requires
42
41
  const RNEventSource = require('react-native-sse').default;
43
42
  const es = new RNEventSource(url, {
44
43
  method,
@@ -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","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","length","output","onMessage","error","message","close","dispose","clearTimeout","exports"],"sourceRoot":"../../../src","sources":["tools/XStream.ts"],"mappings":"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","ignoreList":[]}
@@ -35,17 +35,18 @@ export function ChatProvider(props) {
35
35
  requestFallback,
36
36
  children
37
37
  } = props;
38
+ const convOptions = useMemo(() => ({
39
+ storage: storage ?? memoryStorage
40
+ }), [storage]);
41
+ const conversations = useXConversations(convOptions);
38
42
  const chatConfig = useMemo(() => ({
43
+ conversationKey: conversations.activeId,
39
44
  provider,
40
45
  generateId,
41
46
  requestPlaceholder,
42
47
  requestFallback
43
- }), [provider, generateId, requestPlaceholder, requestFallback]);
48
+ }), [conversations.activeId, provider, generateId, requestPlaceholder, requestFallback]);
44
49
  const chat = useXChat(chatConfig);
45
- const convOptions = useMemo(() => ({
46
- storage: storage ?? memoryStorage
47
- }), [storage]);
48
- const conversations = useXConversations(convOptions);
49
50
  const model = useXModel({
50
51
  models,
51
52
  defaultModel
@@ -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","ChatProvider","props","provider","storage","models","defaultModel","generateId","requestPlaceholder","requestFallback","children","chatConfig","chat","convOptions","conversations","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;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAsExC,MAAMC,WAAW,gBAAGR,aAAa,CAA0B,IAAI,CAAC;AAEhE,MAAMS,aAA0B,GAAG;EACjCC,KAAK,EAAE,IAAIC,GAAG,CAAiB,CAAC;EAChC,MAAMC,OAAOA,CAACC,GAAW,EAAE;IACzB,OAAQ,IAAI,CAACH,KAAK,CAAyBI,GAAG,CAACD,GAAG,CAAC,IAAI,IAAI;EAC7D,CAAC;EACD,MAAME,OAAOA,CAACF,GAAW,EAAEG,KAAa,EAAE;IACvC,IAAI,CAACN,KAAK,CAAyBO,GAAG,CAACJ,GAAG,EAAEG,KAAK,CAAC;EACrD,CAAC;EACD,MAAME,UAAUA,CAACL,GAAW,EAAE;IAC3B,IAAI,CAACH,KAAK,CAAyBS,MAAM,CAACN,GAAG,CAAC;EACjD;AACF,CAAiD;AAEjD,OAAO,SAASO,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,UAAkD,GAAG5B,OAAO,CAChE,OAAO;IACLoB,QAAQ;IACRI,UAAU;IACVC,kBAAkB;IAClBC;EACF,CAAC,CAAC,EACF,CAACN,QAAQ,EAAEI,UAAU,EAAEC,kBAAkB,EAAEC,eAAe,CAC5D,CAAC;EAED,MAAMG,IAAI,GAAG5B,QAAQ,CAAC2B,UAAU,CAAC;EAEjC,MAAME,WAAqC,GAAG9B,OAAO,CACnD,OAAO;IAAEqB,OAAO,EAAEA,OAAO,IAAId;EAAc,CAAC,CAAC,EAC7C,CAACc,OAAO,CACV,CAAC;EACD,MAAMU,aAAa,GAAG7B,iBAAiB,CAAC4B,WAAW,CAAC;EAEpD,MAAME,KAAK,GAAG7B,SAAS,CAAC;IAAEmB,MAAM;IAAEC;EAAa,CAAC,CAAC;EAEjD,MAAMT,KAAK,GAAGd,OAAO,CACnB,OAAO;IACL,GAAG6B,IAAI;IACP,GAAGE,aAAa;IAChB,GAAGC;EACL,CAAC,CAAC,EACF,CAACH,IAAI,EAAEE,aAAa,EAAEC,KAAK,CAC7B,CAAC;EAED,oBACE3B,IAAA,CAACC,WAAW,CAAC2B,QAAQ;IAACnB,KAAK,EAAEA,KAAqC;IAAAa,QAAA,EAC/DA;EAAQ,CACW,CAAC;AAE3B;AAEA,OAAO,SAASO,cAAcA,CAAA,EAEC;EAC7B,MAAMC,GAAG,GAAGpC,UAAU,CAACO,WAAW,CAAC;EACnC,IAAI,CAAC6B,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;EACtE;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","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;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA2ExC,MAAMC,WAAW,gBAAGR,aAAa,CAA0B,IAAI,CAAC;AAEhE,MAAMS,aAA0B,GAAG;EACjCC,KAAK,EAAE,IAAIC,GAAG,CAAiB,CAAC;EAChC,MAAMC,OAAOA,CAACC,GAAW,EAAE;IACzB,OAAQ,IAAI,CAACH,KAAK,CAAyBI,GAAG,CAACD,GAAG,CAAC,IAAI,IAAI;EAC7D,CAAC;EACD,MAAME,OAAOA,CAACF,GAAW,EAAEG,KAAa,EAAE;IACvC,IAAI,CAACN,KAAK,CAAyBO,GAAG,CAACJ,GAAG,EAAEG,KAAK,CAAC;EACrD,CAAC;EACD,MAAME,UAAUA,CAACL,GAAW,EAAE;IAC3B,IAAI,CAACH,KAAK,CAAyBS,MAAM,CAACN,GAAG,CAAC;EACjD;AACF,CAAiD;AAEjD,OAAO,SAASO,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,GAAG5B,OAAO,CACnD,OAAO;IAAEqB,OAAO,EAAEA,OAAO,IAAId;EAAc,CAAC,CAAC,EAC7C,CAACc,OAAO,CACV,CAAC;EACD,MAAMQ,aAAa,GAAG3B,iBAAiB,CAAC0B,WAAW,CAAC;EAEpD,MAAME,UAAkD,GAAG9B,OAAO,CAChE,OAAO;IACL+B,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,IAAI,GAAGhC,QAAQ,CAAC6B,UAAU,CAAC;EAEjC,MAAMI,KAAK,GAAG/B,SAAS,CAAC;IAAEmB,MAAM;IAAEC;EAAa,CAAC,CAAC;EAEjD,MAAMT,KAAK,GAAGd,OAAO,CACnB,OAAO;IACL,GAAGiC,IAAI;IACP,GAAGJ,aAAa;IAChB,GAAGK;EACL,CAAC,CAAC,EACF,CAACD,IAAI,EAAEJ,aAAa,EAAEK,KAAK,CAC7B,CAAC;EAED,oBACE7B,IAAA,CAACC,WAAW,CAAC6B,QAAQ;IAACrB,KAAK,EAAEA,KAAqC;IAAAa,QAAA,EAC/DA;EAAQ,CACW,CAAC;AAE3B;AAEA,OAAO,SAASS,cAAcA,CAAA,EAEC;EAC7B,MAAMC,GAAG,GAAGtC,UAAU,CAACO,WAAW,CAAC;EACnC,IAAI,CAAC+B,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;EACtE;EACA,OAAOD,GAAG;AACZ","ignoreList":[]}
@@ -6,14 +6,14 @@
6
6
  * 消费 ChatProvider,输出可渲染的 messages 列表
7
7
  */
8
8
 
9
- import { useCallback, useEffect, useRef, useSyncExternalStore } from 'react';
10
- import { createChatStore } from "../stores/chatStore.js";
9
+ import { useCallback, useEffect, useMemo, useSyncExternalStore } from 'react';
10
+ import { getOrCreateChatStore } from "../stores/chatStore.js";
11
11
  export function useXChat(config) {
12
12
  const {
13
- provider
13
+ provider,
14
+ conversationKey
14
15
  } = config;
15
- const storeRef = useRef(createChatStore());
16
- const store = storeRef.current;
16
+ const store = useMemo(() => getOrCreateChatStore(conversationKey), [conversationKey]);
17
17
 
18
18
  // 使用 useSyncExternalStore 订阅 zustand store 变化
19
19
  const state = useSyncExternalStore(store.subscribe, store.getState, store.getState);
@@ -86,12 +86,6 @@ export function useXChat(config) {
86
86
  }
87
87
  store.getState().setRequesting(false);
88
88
  }, [provider, store]);
89
- const resetChat = useCallback(() => {
90
- store.getState().resetChat();
91
- }, [store]);
92
- const loadSession = useCallback(messages => {
93
- store.getState().loadSession(messages);
94
- }, [store]);
95
89
  const clearError = useCallback(() => {
96
90
  store.getState().setError(null);
97
91
  }, [store]);
@@ -188,8 +182,6 @@ export function useXChat(config) {
188
182
  onRequest,
189
183
  onReload,
190
184
  abort,
191
- resetChat,
192
- loadSession,
193
185
  clearError,
194
186
  setMessages,
195
187
  setMessage,