@ai-group/chat-sdk 2.1.13 → 3.0.1-alpha.2

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 (277) hide show
  1. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
  2. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js +564 -10
  3. package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js.map +2 -2
  4. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
  5. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js +92 -0
  6. package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js.map +7 -0
  7. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
  8. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js +137 -0
  9. package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js.map +7 -0
  10. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
  11. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +41 -5
  12. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
  13. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
  14. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js +14 -3
  15. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +2 -2
  16. package/dist/cjs/components/XAdkChatbot/index.d.ts +11 -1
  17. package/dist/cjs/components/XAdkChatbot/index.js +294 -108
  18. package/dist/cjs/components/XAdkChatbot/index.js.map +3 -3
  19. package/dist/cjs/components/XAdkChatbot/styles.d.ts +10 -0
  20. package/dist/cjs/components/XAdkChatbot/styles.js +67 -3
  21. package/dist/cjs/components/XAdkChatbot/styles.js.map +2 -2
  22. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
  23. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js +394 -0
  24. package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js.map +7 -0
  25. package/dist/cjs/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
  26. package/dist/cjs/components/XAdkProvider/compound/Chatbot.js +64 -0
  27. package/dist/cjs/components/XAdkProvider/compound/Chatbot.js.map +7 -0
  28. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
  29. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +199 -0
  30. package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +7 -0
  31. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
  32. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js +117 -0
  33. package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js.map +7 -0
  34. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
  35. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js +64 -0
  36. package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js.map +7 -0
  37. package/dist/cjs/components/XAdkProvider/compound/Header.d.ts +25 -0
  38. package/dist/cjs/components/XAdkProvider/compound/Header.js +70 -0
  39. package/dist/cjs/components/XAdkProvider/compound/Header.js.map +7 -0
  40. package/dist/cjs/components/XAdkProvider/compound/Messages.d.ts +17 -0
  41. package/dist/cjs/components/XAdkProvider/compound/Messages.js +70 -0
  42. package/dist/cjs/components/XAdkProvider/compound/Messages.js.map +7 -0
  43. package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +27 -0
  44. package/dist/cjs/components/XAdkProvider/compound/Sender.js +55 -0
  45. package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +7 -0
  46. package/dist/cjs/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
  47. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js +151 -0
  48. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js.map +7 -0
  49. package/dist/cjs/components/XAdkProvider/compound/Welcome.d.ts +6 -0
  50. package/dist/cjs/components/XAdkProvider/compound/Welcome.js +60 -0
  51. package/dist/cjs/components/XAdkProvider/compound/Welcome.js.map +7 -0
  52. package/dist/cjs/components/XAdkProvider/compound/index.d.ts +17 -0
  53. package/dist/cjs/components/XAdkProvider/compound/index.js +55 -0
  54. package/dist/cjs/components/XAdkProvider/compound/index.js.map +7 -0
  55. package/dist/cjs/components/XAdkProvider/compound/styles.d.ts +36 -0
  56. package/dist/cjs/components/XAdkProvider/compound/styles.js +49 -0
  57. package/dist/cjs/components/XAdkProvider/compound/styles.js.map +7 -0
  58. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
  59. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js +40 -0
  60. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js.map +7 -0
  61. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
  62. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js +42 -0
  63. package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js.map +7 -0
  64. package/dist/cjs/components/XAdkProvider/context/SessionContext.d.ts +29 -0
  65. package/dist/cjs/components/XAdkProvider/context/SessionContext.js +40 -0
  66. package/dist/cjs/components/XAdkProvider/context/SessionContext.js.map +7 -0
  67. package/dist/cjs/components/XAdkProvider/context/index.d.ts +7 -0
  68. package/dist/cjs/components/XAdkProvider/context/index.js +28 -0
  69. package/dist/cjs/components/XAdkProvider/context/index.js.map +7 -0
  70. package/dist/cjs/components/XAdkProvider/index.d.ts +55 -0
  71. package/dist/cjs/components/XAdkProvider/index.js +221 -0
  72. package/dist/cjs/components/XAdkProvider/index.js.map +7 -0
  73. package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -1
  74. package/dist/cjs/components/XAdkProvider/styles.js.map +7 -0
  75. package/dist/cjs/components/XAdkSender/FileGallery.d.ts +8 -0
  76. package/dist/cjs/components/XAdkSender/FileGallery.js +381 -0
  77. package/dist/cjs/components/XAdkSender/FileGallery.js.map +7 -0
  78. package/dist/cjs/components/XAdkSender/index.js +95 -81
  79. package/dist/cjs/components/XAdkSender/index.js.map +3 -3
  80. package/dist/cjs/components/XAdkSender/styles.d.ts +0 -9
  81. package/dist/cjs/components/XAdkSender/styles.js +21 -150
  82. package/dist/cjs/components/XAdkSender/styles.js.map +2 -2
  83. package/dist/cjs/components/XAiConversations/index.js +1 -1
  84. package/dist/cjs/components/XAiConversations/index.js.map +2 -2
  85. package/dist/cjs/components/XAiConversations/styles.js +5 -0
  86. package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
  87. package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
  88. package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js +180 -0
  89. package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +7 -0
  90. package/dist/cjs/components/XAiThoughtChain/index.d.ts +4 -0
  91. package/dist/cjs/components/XAiThoughtChain/index.js +155 -0
  92. package/dist/cjs/components/XAiThoughtChain/index.js.map +7 -0
  93. package/dist/cjs/components/XAiThoughtChain/styles.d.ts +60 -0
  94. package/dist/cjs/components/XAiThoughtChain/styles.js +195 -0
  95. package/dist/cjs/components/XAiThoughtChain/styles.js.map +7 -0
  96. package/dist/cjs/hooks/useADKChat.d.ts +9 -3
  97. package/dist/cjs/hooks/useADKChat.js +246 -182
  98. package/dist/cjs/hooks/useADKChat.js.map +2 -2
  99. package/dist/cjs/index.d.ts +25 -9
  100. package/dist/cjs/index.js +37 -0
  101. package/dist/cjs/index.js.map +3 -3
  102. package/dist/cjs/styles/common.js +1 -1
  103. package/dist/cjs/styles/common.js.map +2 -2
  104. package/dist/cjs/types/ChatHook.d.ts +81 -0
  105. package/dist/cjs/types/ChatHook.js +18 -0
  106. package/dist/cjs/types/ChatHook.js.map +7 -0
  107. package/dist/cjs/types/XAdkChatbot.d.ts +80 -15
  108. package/dist/cjs/types/XAdkChatbot.js.map +1 -1
  109. package/dist/cjs/types/XAdkProvider.d.ts +10 -27
  110. package/dist/cjs/types/XAdkProvider.js.map +2 -2
  111. package/dist/cjs/types/XAdkSender.d.ts +18 -0
  112. package/dist/cjs/types/XAdkSender.js.map +1 -1
  113. package/dist/cjs/types/XAiConversations.d.ts +4 -2
  114. package/dist/cjs/types/XAiConversations.js.map +1 -1
  115. package/dist/cjs/types/XAiThoughtChain.d.ts +25 -0
  116. package/dist/cjs/types/XAiThoughtChain.js +18 -0
  117. package/dist/cjs/types/XAiThoughtChain.js.map +7 -0
  118. package/dist/cjs/types/index.d.ts +9 -8
  119. package/dist/cjs/types/index.js +2 -0
  120. package/dist/cjs/types/index.js.map +2 -2
  121. package/dist/cjs/utils/index.d.ts +2 -0
  122. package/dist/cjs/utils/index.js +11 -1
  123. package/dist/cjs/utils/index.js.map +2 -2
  124. package/dist/cjs/utils/parseAgentMessage.d.ts +81 -0
  125. package/dist/cjs/utils/parseAgentMessage.js +180 -0
  126. package/dist/cjs/utils/parseAgentMessage.js.map +7 -0
  127. package/dist/cjs/utils/umdEntry.d.ts +91 -0
  128. package/dist/cjs/utils/umdEntry.js +108 -6
  129. package/dist/cjs/utils/umdEntry.js.map +3 -3
  130. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
  131. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +485 -8
  132. package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +1 -1
  133. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
  134. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js +104 -0
  135. package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js.map +1 -0
  136. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
  137. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js +20 -0
  138. package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js.map +1 -0
  139. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
  140. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +17 -15
  141. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
  142. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
  143. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +7 -6
  144. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -1
  145. package/dist/esm/components/XAdkChatbot/index.d.ts +11 -1
  146. package/dist/esm/components/XAdkChatbot/index.js +392 -174
  147. package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
  148. package/dist/esm/components/XAdkChatbot/styles.d.ts +10 -0
  149. package/dist/esm/components/XAdkChatbot/styles.js +23 -12
  150. package/dist/esm/components/XAdkChatbot/styles.js.map +1 -1
  151. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
  152. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js +338 -0
  153. package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js.map +1 -0
  154. package/dist/esm/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
  155. package/dist/esm/components/XAdkProvider/compound/Chatbot.js +47 -0
  156. package/dist/esm/components/XAdkProvider/compound/Chatbot.js.map +1 -0
  157. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
  158. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +142 -0
  159. package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -0
  160. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
  161. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js +122 -0
  162. package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js.map +1 -0
  163. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
  164. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js +34 -0
  165. package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js.map +1 -0
  166. package/dist/esm/components/XAdkProvider/compound/Header.d.ts +25 -0
  167. package/dist/esm/components/XAdkProvider/compound/Header.js +79 -0
  168. package/dist/esm/components/XAdkProvider/compound/Header.js.map +1 -0
  169. package/dist/esm/components/XAdkProvider/compound/Messages.d.ts +17 -0
  170. package/dist/esm/components/XAdkProvider/compound/Messages.js +53 -0
  171. package/dist/esm/components/XAdkProvider/compound/Messages.js.map +1 -0
  172. package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +27 -0
  173. package/dist/esm/components/XAdkProvider/compound/Sender.js +41 -0
  174. package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -0
  175. package/dist/esm/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
  176. package/dist/esm/components/XAdkProvider/compound/Sidebar.js +142 -0
  177. package/dist/esm/components/XAdkProvider/compound/Sidebar.js.map +1 -0
  178. package/dist/esm/components/XAdkProvider/compound/Welcome.d.ts +6 -0
  179. package/dist/esm/components/XAdkProvider/compound/Welcome.js +36 -0
  180. package/dist/esm/components/XAdkProvider/compound/Welcome.js.map +1 -0
  181. package/dist/esm/components/XAdkProvider/compound/index.d.ts +17 -0
  182. package/dist/esm/components/XAdkProvider/compound/index.js +13 -0
  183. package/dist/esm/components/XAdkProvider/compound/index.js.map +1 -0
  184. package/dist/esm/components/XAdkProvider/compound/styles.d.ts +36 -0
  185. package/dist/esm/components/XAdkProvider/compound/styles.js +10 -0
  186. package/dist/esm/components/XAdkProvider/compound/styles.js.map +1 -0
  187. package/dist/esm/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
  188. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js +23 -0
  189. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js.map +1 -0
  190. package/dist/esm/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
  191. package/dist/esm/components/XAdkProvider/context/ChatStateContext.js +23 -0
  192. package/dist/esm/components/XAdkProvider/context/ChatStateContext.js.map +1 -0
  193. package/dist/esm/components/XAdkProvider/context/SessionContext.d.ts +29 -0
  194. package/dist/esm/components/XAdkProvider/context/SessionContext.js +22 -0
  195. package/dist/esm/components/XAdkProvider/context/SessionContext.js.map +1 -0
  196. package/dist/esm/components/XAdkProvider/context/index.d.ts +7 -0
  197. package/dist/esm/components/XAdkProvider/context/index.js +9 -0
  198. package/dist/esm/components/XAdkProvider/context/index.js.map +1 -0
  199. package/dist/esm/components/XAdkProvider/index.d.ts +55 -0
  200. package/dist/esm/components/XAdkProvider/index.js +220 -0
  201. package/dist/esm/components/XAdkProvider/index.js.map +1 -0
  202. package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -2
  203. package/dist/esm/components/XAdkProvider/styles.js.map +1 -0
  204. package/dist/esm/components/XAdkSender/FileGallery.d.ts +8 -0
  205. package/dist/esm/components/XAdkSender/FileGallery.js +236 -0
  206. package/dist/esm/components/XAdkSender/FileGallery.js.map +1 -0
  207. package/dist/esm/components/XAdkSender/index.js +92 -109
  208. package/dist/esm/components/XAdkSender/index.js.map +1 -1
  209. package/dist/esm/components/XAdkSender/styles.d.ts +0 -9
  210. package/dist/esm/components/XAdkSender/styles.js +14 -31
  211. package/dist/esm/components/XAdkSender/styles.js.map +1 -1
  212. package/dist/esm/components/XAiConversations/index.js +1 -1
  213. package/dist/esm/components/XAiConversations/index.js.map +1 -1
  214. package/dist/esm/components/XAiConversations/styles.js +2 -2
  215. package/dist/esm/components/XAiConversations/styles.js.map +1 -1
  216. package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
  217. package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js +159 -0
  218. package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +1 -0
  219. package/dist/esm/components/XAiThoughtChain/index.d.ts +4 -0
  220. package/dist/esm/components/XAiThoughtChain/index.js +180 -0
  221. package/dist/esm/components/XAiThoughtChain/index.js.map +1 -0
  222. package/dist/esm/components/XAiThoughtChain/styles.d.ts +60 -0
  223. package/dist/esm/components/XAiThoughtChain/styles.js +40 -0
  224. package/dist/esm/components/XAiThoughtChain/styles.js.map +1 -0
  225. package/dist/esm/hooks/useADKChat.d.ts +9 -3
  226. package/dist/esm/hooks/useADKChat.js +75 -54
  227. package/dist/esm/hooks/useADKChat.js.map +1 -1
  228. package/dist/esm/index.d.ts +25 -9
  229. package/dist/esm/index.js +28 -2
  230. package/dist/esm/index.js.map +1 -1
  231. package/dist/esm/styles/common.js +11 -11
  232. package/dist/esm/styles/common.js.map +1 -1
  233. package/dist/esm/types/ChatHook.d.ts +81 -0
  234. package/dist/esm/types/ChatHook.js +2 -0
  235. package/dist/esm/types/ChatHook.js.map +1 -0
  236. package/dist/esm/types/XAdkChatbot.d.ts +80 -15
  237. package/dist/esm/types/XAdkChatbot.js.map +1 -1
  238. package/dist/esm/types/XAdkProvider.d.ts +10 -27
  239. package/dist/esm/types/XAdkProvider.js.map +1 -1
  240. package/dist/esm/types/XAdkSender.d.ts +18 -0
  241. package/dist/esm/types/XAdkSender.js.map +1 -1
  242. package/dist/esm/types/XAiConversations.d.ts +4 -2
  243. package/dist/esm/types/XAiConversations.js.map +1 -1
  244. package/dist/esm/types/XAiThoughtChain.d.ts +25 -0
  245. package/dist/esm/types/XAiThoughtChain.js +2 -0
  246. package/dist/esm/types/XAiThoughtChain.js.map +1 -0
  247. package/dist/esm/types/index.d.ts +9 -8
  248. package/dist/esm/types/index.js +1 -0
  249. package/dist/esm/types/index.js.map +1 -1
  250. package/dist/esm/utils/index.d.ts +2 -0
  251. package/dist/esm/utils/index.js +7 -0
  252. package/dist/esm/utils/index.js.map +1 -1
  253. package/dist/esm/utils/parseAgentMessage.d.ts +81 -0
  254. package/dist/esm/utils/parseAgentMessage.js +286 -0
  255. package/dist/esm/utils/parseAgentMessage.js.map +1 -0
  256. package/dist/esm/utils/umdEntry.d.ts +91 -0
  257. package/dist/esm/utils/umdEntry.js +154 -16
  258. package/dist/esm/utils/umdEntry.js.map +1 -1
  259. package/dist/umd/chat-sdk.min.css +1 -1
  260. package/dist/umd/chat-sdk.min.js +1 -1
  261. package/package.json +20 -11
  262. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
  263. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -160
  264. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -7
  265. package/dist/cjs/components/XAdkWebProvider/index.d.ts +0 -4
  266. package/dist/cjs/components/XAdkWebProvider/index.js +0 -372
  267. package/dist/cjs/components/XAdkWebProvider/index.js.map +0 -7
  268. package/dist/cjs/components/XAdkWebProvider/styles.js.map +0 -7
  269. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
  270. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -158
  271. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -1
  272. package/dist/esm/components/XAdkWebProvider/index.d.ts +0 -4
  273. package/dist/esm/components/XAdkWebProvider/index.js +0 -480
  274. package/dist/esm/components/XAdkWebProvider/index.js.map +0 -1
  275. package/dist/esm/components/XAdkWebProvider/styles.js.map +0 -1
  276. /package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
  277. /package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useChatState","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","Header","_ref","style","className","render","_useChatState","appInfo","children","_objectSpread","padding","borderBottom","display","alignItems","gap","icon","src","alt","width","height","borderRadius","appName","flex","fontWeight","fontSize","description","color","marginTop","displayName"],"sources":["../../../../../src/components/XAdkProvider/compound/Header.tsx"],"sourcesContent":["import React from \"react\";\nimport { useChatState } from \"../context/ChatStateContext\";\nimport type { ChatConfig } from \"@/services/api\";\n\n/**\n * XAdkProvider.Header - 可选的头部组件\n *\n * 显示应用信息,用户可以自定义或不使用\n *\n * @example\n * ```tsx\n * <XAdkProvider url=\"...\" token=\"...\">\n * <XAdkProvider.Header />\n * <XAdkProvider.Messages />\n * </XAdkProvider>\n * ```\n */\nexport interface XAdkHeaderProps {\n /** 额外的样式 */\n style?: React.CSSProperties;\n /** 额外的类名 */\n className?: string;\n /** 自定义渲染函数 */\n render?: (appInfo: ChatConfig | null) => React.ReactNode;\n}\n\nconst Header: React.FC<XAdkHeaderProps> = ({ style, className, render }) => {\n const { appInfo } = useChatState();\n\n // 如果提供了自定义渲染函数,使用它\n if (render) {\n return <>{render(appInfo)}</>;\n }\n\n // 默认头部渲染\n if (!appInfo) {\n return null;\n }\n\n return (\n <div\n className={className}\n style={{\n padding: \"16px\",\n borderBottom: \"1px solid #f0f0f0\",\n display: \"flex\",\n alignItems: \"center\",\n gap: \"12px\",\n ...style,\n }}\n >\n {appInfo.icon && (\n <img\n src={appInfo.icon}\n alt=\"应用图标\"\n style={{\n width: 32,\n height: 32,\n borderRadius: \"4px\",\n }}\n />\n )}\n {appInfo.appName && (\n <div style={{ flex: 1 }}>\n <div style={{ fontWeight: 500, fontSize: \"16px\" }}>\n {appInfo.appName}\n </div>\n {appInfo.description && (\n <div style={{ fontSize: \"12px\", color: \"#999\", marginTop: \"4px\" }}>\n {appInfo.description}\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n\nHeader.displayName = \"XAdkProvider.Header\";\n\nexport default Header;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY;;AAGrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAsBA,IAAMC,MAAiC,GAAG,SAApCA,MAAiCA,CAAAC,IAAA,EAAqC;EAAA,IAA/BC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM;EACnE,IAAAC,aAAA,GAAoBZ,YAAY,CAAC,CAAC;IAA1Ba,OAAO,GAAAD,aAAA,CAAPC,OAAO;;EAEf;EACA,IAAIF,MAAM,EAAE;IACV,oBAAOP,IAAA,CAAAF,SAAA;MAAAY,QAAA,EAAGH,MAAM,CAACE,OAAO;IAAC,CAAG,CAAC;EAC/B;;EAEA;EACA,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO,IAAI;EACb;EAEA,oBACEP,KAAA;IACEI,SAAS,EAAEA,SAAU;IACrBD,KAAK,EAAAM,aAAA;MACHC,OAAO,EAAE,MAAM;MACfC,YAAY,EAAE,mBAAmB;MACjCC,OAAO,EAAE,MAAM;MACfC,UAAU,EAAE,QAAQ;MACpBC,GAAG,EAAE;IAAM,GACRX,KAAK,CACR;IAAAK,QAAA,GAEDD,OAAO,CAACQ,IAAI,iBACXjB,IAAA;MACEkB,GAAG,EAAET,OAAO,CAACQ,IAAK;MAClBE,GAAG,EAAC,0BAAM;MACVd,KAAK,EAAE;QACLe,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVC,YAAY,EAAE;MAChB;IAAE,CACH,CACF,EACAb,OAAO,CAACc,OAAO,iBACdrB,KAAA;MAAKG,KAAK,EAAE;QAAEmB,IAAI,EAAE;MAAE,CAAE;MAAAd,QAAA,gBACtBV,IAAA;QAAKK,KAAK,EAAE;UAAEoB,UAAU,EAAE,GAAG;UAAEC,QAAQ,EAAE;QAAO,CAAE;QAAAhB,QAAA,EAC/CD,OAAO,CAACc;MAAO,CACb,CAAC,EACLd,OAAO,CAACkB,WAAW,iBAClB3B,IAAA;QAAKK,KAAK,EAAE;UAAEqB,QAAQ,EAAE,MAAM;UAAEE,KAAK,EAAE,MAAM;UAAEC,SAAS,EAAE;QAAM,CAAE;QAAAnB,QAAA,EAC/DD,OAAO,CAACkB;MAAW,CACjB,CACN;IAAA,CACE,CACN;EAAA,CACE,CAAC;AAEV,CAAC;AAEDxB,MAAM,CAAC2B,WAAW,GAAG,qBAAqB;AAE1C,eAAe3B,MAAM"}
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import type { ActionProps } from "../../../types";
3
+ export interface XAdkMessagesProps {
4
+ /** 自定义操作栏渲染 */
5
+ actions?: ActionProps;
6
+ /** 类名 */
7
+ className?: string;
8
+ /** 样式 */
9
+ style?: React.CSSProperties;
10
+ }
11
+ /**
12
+ * Messages - XAdkProvider 的消息展示组件
13
+ *
14
+ * 使用 XAdkChatbot 渲染消息列表
15
+ */
16
+ declare const Messages: React.FC<XAdkMessagesProps>;
17
+ export default Messages;
@@ -0,0 +1,53 @@
1
+ import React from "react";
2
+ import XAdkChatbot from "../../XAdkChatbot";
3
+ import { useChatState } from "../context/ChatStateContext";
4
+ import { useChatActions } from "../context/ChatActionContext";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ /**
7
+ * Messages - XAdkProvider 的消息展示组件
8
+ *
9
+ * 使用 XAdkChatbot 渲染消息列表
10
+ */
11
+ var Messages = function Messages(_ref) {
12
+ var actions = _ref.actions,
13
+ className = _ref.className,
14
+ style = _ref.style;
15
+ var _useChatState = useChatState(),
16
+ messages = _useChatState.messages,
17
+ loading = _useChatState.loading,
18
+ prologue = _useChatState.prologue,
19
+ suggestions = _useChatState.suggestions;
20
+ var _useChatActions = useChatActions(),
21
+ suggestChat = _useChatActions.suggestChat,
22
+ reChat = _useChatActions.reChat;
23
+ return /*#__PURE__*/_jsx(XAdkChatbot, {
24
+ messages: messages,
25
+ loading: loading,
26
+ prologue: prologue,
27
+ suggestions: suggestions,
28
+ onSuggest: suggestChat
29
+ // 操作栏
30
+ ,
31
+ showRetry: true,
32
+ showCopy: true,
33
+ showLog: false,
34
+ onRetry: reChat,
35
+ onShowLog: function onShowLog() {},
36
+ actions: actions
37
+ // 启用分组和解析
38
+ ,
39
+ enableGrouping: true,
40
+ enableProcessParsing: true
41
+ // 使用注释模式解析
42
+ ,
43
+ parseOptions: {
44
+ mode: "comment"
45
+ }
46
+ // 样式
47
+ ,
48
+ className: className,
49
+ style: style
50
+ });
51
+ };
52
+ export default Messages;
53
+ //# sourceMappingURL=Messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","XAdkChatbot","useChatState","useChatActions","jsx","_jsx","Messages","_ref","actions","className","style","_useChatState","messages","loading","prologue","suggestions","_useChatActions","suggestChat","reChat","onSuggest","showRetry","showCopy","showLog","onRetry","onShowLog","enableGrouping","enableProcessParsing","parseOptions","mode"],"sources":["../../../../../src/components/XAdkProvider/compound/Messages.tsx"],"sourcesContent":["import React from \"react\";\nimport XAdkChatbot from \"../../XAdkChatbot\";\nimport { useChatState } from \"../context/ChatStateContext\";\nimport { useChatActions } from \"../context/ChatActionContext\";\nimport type { ActionProps } from \"@/types\";\n\nexport interface XAdkMessagesProps {\n /** 自定义操作栏渲染 */\n actions?: ActionProps;\n /** 类名 */\n className?: string;\n /** 样式 */\n style?: React.CSSProperties;\n}\n\n/**\n * Messages - XAdkProvider 的消息展示组件\n *\n * 使用 XAdkChatbot 渲染消息列表\n */\nconst Messages: React.FC<XAdkMessagesProps> = ({\n actions,\n className,\n style,\n}) => {\n const { messages, loading, prologue, suggestions } = useChatState();\n const { suggestChat, reChat } = useChatActions();\n\n return (\n <XAdkChatbot\n messages={messages}\n loading={loading}\n prologue={prologue}\n suggestions={suggestions}\n onSuggest={suggestChat}\n // 操作栏\n showRetry\n showCopy\n showLog={false}\n onRetry={reChat}\n onShowLog={() => {}}\n actions={actions}\n // 启用分组和解析\n enableGrouping={true}\n enableProcessParsing={true}\n // 使用注释模式解析\n parseOptions={{ mode: \"comment\" }}\n // 样式\n className={className}\n style={style}\n />\n );\n};\n\nexport default Messages;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW;AAClB,SAASC,YAAY;AACrB,SAASC,cAAc;AAAuC,SAAAC,GAAA,IAAAC,IAAA;AAY9D;AACA;AACA;AACA;AACA;AACA,IAAMC,QAAqC,GAAG,SAAxCA,QAAqCA,CAAAC,IAAA,EAIrC;EAAA,IAHJC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,KAAK,GAAAH,IAAA,CAALG,KAAK;EAEL,IAAAC,aAAA,GAAqDT,YAAY,CAAC,CAAC;IAA3DU,QAAQ,GAAAD,aAAA,CAARC,QAAQ;IAAEC,OAAO,GAAAF,aAAA,CAAPE,OAAO;IAAEC,QAAQ,GAAAH,aAAA,CAARG,QAAQ;IAAEC,WAAW,GAAAJ,aAAA,CAAXI,WAAW;EAChD,IAAAC,eAAA,GAAgCb,cAAc,CAAC,CAAC;IAAxCc,WAAW,GAAAD,eAAA,CAAXC,WAAW;IAAEC,MAAM,GAAAF,eAAA,CAANE,MAAM;EAE3B,oBACEb,IAAA,CAACJ,WAAW;IACVW,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBC,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBI,SAAS,EAAEF;IACX;IAAA;IACAG,SAAS;IACTC,QAAQ;IACRC,OAAO,EAAE,KAAM;IACfC,OAAO,EAAEL,MAAO;IAChBM,SAAS,EAAE,SAAAA,UAAA,EAAM,CAAC,CAAE;IACpBhB,OAAO,EAAEA;IACT;IAAA;IACAiB,cAAc,EAAE,IAAK;IACrBC,oBAAoB,EAAE;IACtB;IAAA;IACAC,YAAY,EAAE;MAAEC,IAAI,EAAE;IAAU;IAChC;IAAA;IACAnB,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA;EAAM,CACd,CAAC;AAEN,CAAC;AAED,eAAeJ,QAAQ"}
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import type { XAdkSenderProps } from "../../../types/XAdkSender";
3
+ /**
4
+ * XAdkProvider.Sender - 输入框组件
5
+ *
6
+ * 从 Context 获取聊天动作并提供输入界面
7
+ * 基于 XAdkSender 组件实现
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * <XAdkProvider url="..." token="...">
12
+ * <XAdkProvider.Sender
13
+ * allowUpload={true}
14
+ * clearBtnShow={true}
15
+ * uploadRequest={myUploadHandler}
16
+ * />
17
+ * </XAdkProvider>
18
+ * ```
19
+ */
20
+ export interface XAdkSenderCompoundProps extends Partial<Omit<XAdkSenderProps, 'loading' | 'onSubmit' | 'onStop' | 'onClear'>> {
21
+ /** 额外的样式 */
22
+ style?: React.CSSProperties;
23
+ /** 额外的类名 */
24
+ className?: string;
25
+ }
26
+ declare const Sender: React.FC<XAdkSenderCompoundProps>;
27
+ export default Sender;
@@ -0,0 +1,41 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import React from 'react';
3
+ import XAdkSender from "../../XAdkSender";
4
+ import { useChatState } from "../context/ChatStateContext";
5
+ import { useChatActions } from "../context/ChatActionContext";
6
+
7
+ /**
8
+ * XAdkProvider.Sender - 输入框组件
9
+ *
10
+ * 从 Context 获取聊天动作并提供输入界面
11
+ * 基于 XAdkSender 组件实现
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * <XAdkProvider url="..." token="...">
16
+ * <XAdkProvider.Sender
17
+ * allowUpload={true}
18
+ * clearBtnShow={true}
19
+ * uploadRequest={myUploadHandler}
20
+ * />
21
+ * </XAdkProvider>
22
+ * ```
23
+ */
24
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ var Sender = function Sender(props) {
26
+ var _useChatState = useChatState(),
27
+ loading = _useChatState.loading;
28
+ var _useChatActions = useChatActions(),
29
+ chat = _useChatActions.chat,
30
+ stopChat = _useChatActions.stopChat,
31
+ clearChat = _useChatActions.clearChat;
32
+ return /*#__PURE__*/_jsx(XAdkSender, _objectSpread({
33
+ loading: loading,
34
+ onSubmit: chat,
35
+ onStop: stopChat,
36
+ onClear: clearChat
37
+ }, props));
38
+ };
39
+ Sender.displayName = 'XAdkProvider.Sender';
40
+ export default Sender;
41
+ //# sourceMappingURL=Sender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","XAdkSender","useChatState","useChatActions","jsx","_jsx","Sender","props","_useChatState","loading","_useChatActions","chat","stopChat","clearChat","_objectSpread","onSubmit","onStop","onClear","displayName"],"sources":["../../../../../src/components/XAdkProvider/compound/Sender.tsx"],"sourcesContent":["import React from 'react';\nimport XAdkSender from '@/components/XAdkSender';\nimport { useChatState } from '../context/ChatStateContext';\nimport { useChatActions } from '../context/ChatActionContext';\nimport type { XAdkSenderProps } from '@/types/XAdkSender';\n\n/**\n * XAdkProvider.Sender - 输入框组件\n *\n * 从 Context 获取聊天动作并提供输入界面\n * 基于 XAdkSender 组件实现\n *\n * @example\n * ```tsx\n * <XAdkProvider url=\"...\" token=\"...\">\n * <XAdkProvider.Sender\n * allowUpload={true}\n * clearBtnShow={true}\n * uploadRequest={myUploadHandler}\n * />\n * </XAdkProvider>\n * ```\n */\nexport interface XAdkSenderCompoundProps extends Partial<Omit<XAdkSenderProps, 'loading' | 'onSubmit' | 'onStop' | 'onClear'>> {\n /** 额外的样式 */\n style?: React.CSSProperties;\n /** 额外的类名 */\n className?: string;\n}\n\nconst Sender: React.FC<XAdkSenderCompoundProps> = (props) => {\n const { loading } = useChatState();\n const { chat, stopChat, clearChat } = useChatActions();\n\n return (\n <XAdkSender\n loading={loading}\n onSubmit={chat}\n onStop={stopChat}\n onClear={clearChat}\n {...props}\n />\n );\n};\n\nSender.displayName = 'XAdkProvider.Sender';\n\nexport default Sender;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU;AACjB,SAASC,YAAY;AACrB,SAASC,cAAc;;AAGvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAhBA,SAAAC,GAAA,IAAAC,IAAA;AAwBA,IAAMC,MAAyC,GAAG,SAA5CA,MAAyCA,CAAIC,KAAK,EAAK;EAC3D,IAAAC,aAAA,GAAoBN,YAAY,CAAC,CAAC;IAA1BO,OAAO,GAAAD,aAAA,CAAPC,OAAO;EACf,IAAAC,eAAA,GAAsCP,cAAc,CAAC,CAAC;IAA9CQ,IAAI,GAAAD,eAAA,CAAJC,IAAI;IAAEC,QAAQ,GAAAF,eAAA,CAARE,QAAQ;IAAEC,SAAS,GAAAH,eAAA,CAATG,SAAS;EAEjC,oBACER,IAAA,CAACJ,UAAU,EAAAa,aAAA;IACTL,OAAO,EAAEA,OAAQ;IACjBM,QAAQ,EAAEJ,IAAK;IACfK,MAAM,EAAEJ,QAAS;IACjBK,OAAO,EAAEJ;EAAU,GACfN,KAAK,CACV,CAAC;AAEN,CAAC;AAEDD,MAAM,CAACY,WAAW,GAAG,qBAAqB;AAE1C,eAAeZ,MAAM"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ /**
3
+ * XAdkProvider.Sidebar - 会话列表侧边栏组件
4
+ *
5
+ * 从 Context 获取会话数据并提供会话管理界面
6
+ * 基于 XAiConversations 组件实现(带展开/收起功能)
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * <XAdkProvider url="..." token="...">
11
+ * <XAdkProvider.Sidebar isNarrow={false} />
12
+ * </XAdkProvider>
13
+ * ```
14
+ */
15
+ export interface XAdkSidebarProps {
16
+ /** 额外的样式 */
17
+ style?: React.CSSProperties;
18
+ /** 额外的类名 */
19
+ className?: string;
20
+ /** 是否为窄屏模式 */
21
+ isNarrow?: boolean;
22
+ }
23
+ declare const Sidebar: React.FC<XAdkSidebarProps>;
24
+ export default Sidebar;
@@ -0,0 +1,142 @@
1
+ import React, { useCallback } from 'react';
2
+ import { message, Modal, Input } from 'antd';
3
+ import { ExclamationCircleFilled } from '@ant-design/icons';
4
+ import XAiConversations from "../../XAiConversations";
5
+ import { useChatState } from "../context/ChatStateContext";
6
+ import { useChatActions } from "../context/ChatActionContext";
7
+ import { useSession } from "../context/SessionContext";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ var confirm = Modal.confirm;
10
+
11
+ /**
12
+ * XAdkProvider.Sidebar - 会话列表侧边栏组件
13
+ *
14
+ * 从 Context 获取会话数据并提供会话管理界面
15
+ * 基于 XAiConversations 组件实现(带展开/收起功能)
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <XAdkProvider url="..." token="...">
20
+ * <XAdkProvider.Sidebar isNarrow={false} />
21
+ * </XAdkProvider>
22
+ * ```
23
+ */
24
+
25
+ var Sidebar = function Sidebar(_ref) {
26
+ var _ref$isNarrow = _ref.isNarrow,
27
+ isNarrow = _ref$isNarrow === void 0 ? false : _ref$isNarrow,
28
+ style = _ref.style,
29
+ className = _ref.className;
30
+ var _useChatState = useChatState(),
31
+ currentSessionId = _useChatState.currentSessionId;
32
+ var _useChatActions = useChatActions(),
33
+ clearChat = _useChatActions.clearChat;
34
+ var _useSession = useSession(),
35
+ sessionList = _useSession.sessionList,
36
+ deleteSession = _useSession.deleteSession,
37
+ updateSession = _useSession.updateSession,
38
+ setCurrentSessionDetail = _useSession.setCurrentSessionDetail;
39
+
40
+ // 切换会话
41
+ var handleActiveChange = useCallback(function (key) {
42
+ setCurrentSessionDetail(key);
43
+ }, [setCurrentSessionDetail]);
44
+
45
+ // 新建对话
46
+ var handleNewChat = useCallback(function () {
47
+ clearChat();
48
+ }, [clearChat]);
49
+
50
+ // 默认会话菜单配置
51
+ var defaultMenuConfig = useCallback(function (conversation) {
52
+ return {
53
+ items: [{
54
+ label: '重命名',
55
+ key: 'edit'
56
+ }, {
57
+ label: '删除',
58
+ key: 'delete',
59
+ danger: true
60
+ }],
61
+ onClick: function onClick(menuInfo) {
62
+ menuInfo.domEvent.stopPropagation();
63
+ var key = menuInfo.key;
64
+ switch (key) {
65
+ case 'edit':
66
+ {
67
+ var inputValue = conversation.label || '';
68
+ confirm({
69
+ title: '编辑对话名称',
70
+ icon: null,
71
+ content: /*#__PURE__*/_jsx(Input, {
72
+ defaultValue: inputValue,
73
+ autoFocus: true,
74
+ style: {
75
+ width: '100%'
76
+ },
77
+ onChange: function onChange(e) {
78
+ inputValue = e.target.value;
79
+ }
80
+ }),
81
+ okText: '确认',
82
+ cancelText: '取消',
83
+ okButtonProps: {
84
+ style: {
85
+ background: '#000',
86
+ borderColor: '#000',
87
+ color: '#fff'
88
+ }
89
+ },
90
+ onOk: function onOk() {
91
+ if (!inputValue.trim()) {
92
+ message.error('对话名称不能为空');
93
+ return Promise.reject();
94
+ }
95
+ updateSession(conversation.key, inputValue);
96
+ },
97
+ onCancel: function onCancel() {
98
+ // 静默处理
99
+ }
100
+ });
101
+ break;
102
+ }
103
+ case 'delete':
104
+ confirm({
105
+ title: '确认删除?',
106
+ icon: /*#__PURE__*/_jsx(ExclamationCircleFilled, {}),
107
+ content: '该对话内容将被删除无法恢复。',
108
+ okText: '确认删除',
109
+ okType: 'danger',
110
+ cancelText: '取消',
111
+ okButtonProps: {
112
+ style: {
113
+ background: '#ff4d4f',
114
+ borderColor: '#ff4d4f',
115
+ color: '#fff'
116
+ }
117
+ },
118
+ onOk: function onOk() {
119
+ deleteSession(conversation.key);
120
+ },
121
+ onCancel: function onCancel() {
122
+ //
123
+ }
124
+ });
125
+ break;
126
+ }
127
+ }
128
+ };
129
+ }, [deleteSession, updateSession]);
130
+ return /*#__PURE__*/_jsx(XAiConversations, {
131
+ isNarrow: isNarrow,
132
+ sessionList: sessionList,
133
+ activeKey: currentSessionId,
134
+ onActiveChange: handleActiveChange,
135
+ onNewChat: handleNewChat,
136
+ menu: defaultMenuConfig,
137
+ style: style
138
+ });
139
+ };
140
+ Sidebar.displayName = 'XAdkProvider.Sidebar';
141
+ export default Sidebar;
142
+ //# sourceMappingURL=Sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","message","Modal","Input","ExclamationCircleFilled","XAiConversations","useChatState","useChatActions","useSession","jsx","_jsx","confirm","Sidebar","_ref","_ref$isNarrow","isNarrow","style","className","_useChatState","currentSessionId","_useChatActions","clearChat","_useSession","sessionList","deleteSession","updateSession","setCurrentSessionDetail","handleActiveChange","key","handleNewChat","defaultMenuConfig","conversation","items","label","danger","onClick","menuInfo","domEvent","stopPropagation","inputValue","title","icon","content","defaultValue","autoFocus","width","onChange","e","target","value","okText","cancelText","okButtonProps","background","borderColor","color","onOk","trim","error","Promise","reject","onCancel","okType","activeKey","onActiveChange","onNewChat","menu","displayName"],"sources":["../../../../../src/components/XAdkProvider/compound/Sidebar.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { message, Modal, Input } from 'antd';\nimport { ExclamationCircleFilled } from '@ant-design/icons';\nimport type { ConversationsProps } from '@ant-design/x';\nimport XAiConversations from '@/components/XAiConversations';\nimport { useChatState } from '../context/ChatStateContext';\nimport { useChatActions } from '../context/ChatActionContext';\nimport { useSession } from '../context/SessionContext';\n\nconst { confirm } = Modal;\n\n/**\n * XAdkProvider.Sidebar - 会话列表侧边栏组件\n *\n * 从 Context 获取会话数据并提供会话管理界面\n * 基于 XAiConversations 组件实现(带展开/收起功能)\n *\n * @example\n * ```tsx\n * <XAdkProvider url=\"...\" token=\"...\">\n * <XAdkProvider.Sidebar isNarrow={false} />\n * </XAdkProvider>\n * ```\n */\nexport interface XAdkSidebarProps {\n /** 额外的样式 */\n style?: React.CSSProperties;\n /** 额外的类名 */\n className?: string;\n /** 是否为窄屏模式 */\n isNarrow?: boolean;\n}\n\nconst Sidebar: React.FC<XAdkSidebarProps> = ({\n isNarrow = false,\n style,\n className,\n}) => {\n const { currentSessionId } = useChatState();\n const { clearChat } = useChatActions();\n const { sessionList, deleteSession, updateSession, setCurrentSessionDetail } = useSession();\n\n // 切换会话\n const handleActiveChange = useCallback((key: string) => {\n setCurrentSessionDetail(key);\n }, [setCurrentSessionDetail]);\n\n // 新建对话\n const handleNewChat = useCallback(() => {\n clearChat();\n }, [clearChat]);\n\n // 默认会话菜单配置\n const defaultMenuConfig: ConversationsProps['menu'] = useCallback((conversation: any) => ({\n items: [\n {\n label: '重命名',\n key: 'edit',\n },\n {\n label: '删除',\n key: 'delete',\n danger: true,\n },\n ],\n onClick: (menuInfo: any) => {\n menuInfo.domEvent.stopPropagation();\n const { key } = menuInfo;\n switch (key) {\n case 'edit': {\n let inputValue = (conversation.label as string) || '';\n confirm({\n title: '编辑对话名称',\n icon: null,\n content: (\n <Input\n defaultValue={inputValue}\n autoFocus\n style={{ width: '100%' }}\n onChange={(e) => {\n inputValue = e.target.value;\n }}\n />\n ),\n okText: '确认',\n cancelText: '取消',\n okButtonProps: {\n style: {\n background: '#000',\n borderColor: '#000',\n color: '#fff',\n },\n },\n onOk: () => {\n if (!inputValue.trim()) {\n message.error('对话名称不能为空');\n return Promise.reject();\n }\n updateSession(conversation.key, inputValue);\n },\n onCancel: () => {\n // 静默处理\n },\n });\n break;\n }\n case 'delete':\n confirm({\n title: '确认删除?',\n icon: <ExclamationCircleFilled />,\n content: '该对话内容将被删除无法恢复。',\n okText: '确认删除',\n okType: 'danger',\n cancelText: '取消',\n okButtonProps: {\n style: {\n background: '#ff4d4f',\n borderColor: '#ff4d4f',\n color: '#fff',\n },\n },\n onOk() {\n deleteSession(conversation.key);\n },\n onCancel() {\n //\n },\n });\n break;\n }\n },\n }), [deleteSession, updateSession]);\n\n return (\n <XAiConversations\n isNarrow={isNarrow}\n sessionList={sessionList}\n activeKey={currentSessionId}\n onActiveChange={handleActiveChange}\n onNewChat={handleNewChat}\n menu={defaultMenuConfig}\n style={style}\n />\n );\n};\n\nSidebar.displayName = 'XAdkProvider.Sidebar';\n\nexport default Sidebar;\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface Props {
3
+ welcome?: React.ReactNode;
4
+ }
5
+ declare const Welcome: React.FC<Props>;
6
+ export default Welcome;
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ // import { useChatState } from "../context/ChatStateContext";
3
+ import logo from "../../../assets/logo.png";
4
+ import { useStyles } from "./styles";
5
+ import { Fragment as _Fragment } from "react/jsx-runtime";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ var Welcome = function Welcome(_ref) {
9
+ var welcome = _ref.welcome;
10
+ // const { appInfo } = useChatState();
11
+ var styles = useStyles();
12
+ if (welcome) return /*#__PURE__*/_jsx(_Fragment, {
13
+ children: welcome
14
+ });
15
+ return /*#__PURE__*/_jsxs("div", {
16
+ style: {
17
+ display: "flex",
18
+ flexDirection: "column",
19
+ alignItems: "center",
20
+ gap: "16px",
21
+ textAlign: "center"
22
+ },
23
+ children: [/*#__PURE__*/_jsx("img", {
24
+ src: logo,
25
+ style: {
26
+ width: "80px",
27
+ height: "80px"
28
+ }
29
+ }), /*#__PURE__*/_jsx("h2", {
30
+ className: styles.logoText,
31
+ children: "Hi, \u6709\u4EC0\u4E48\u6211\u80FD\u5E2E\u60A8\u7684\u5417\uFF1F"
32
+ })]
33
+ });
34
+ };
35
+ export default Welcome;
36
+ //# sourceMappingURL=Welcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","logo","useStyles","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","Welcome","_ref","welcome","styles","children","style","display","flexDirection","alignItems","gap","textAlign","src","width","height","className","logoText"],"sources":["../../../../../src/components/XAdkProvider/compound/Welcome.tsx"],"sourcesContent":["import React from \"react\";\n// import { useChatState } from \"../context/ChatStateContext\";\nimport logo from \"@/assets/logo.png\";\nimport { useStyles } from \"./styles\";\n\ninterface Props {\n welcome?: React.ReactNode;\n}\n\nconst Welcome: React.FC<Props> = ({ welcome }) => {\n // const { appInfo } = useChatState();\n const styles = useStyles();\n\n if (welcome) return <>{welcome}</>;\n\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: \"16px\",\n textAlign: \"center\",\n }}\n >\n <img src={logo} style={{ width: \"80px\", height: \"80px\" }} />\n <h2 className={styles.logoText}>Hi, 有什么我能帮您的吗?</h2>\n </div>\n );\n};\n\nexport default Welcome;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB;AACA,OAAOC,IAAI;AACX,SAASC,SAAS;AAAmB,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAMrC,IAAMC,OAAwB,GAAG,SAA3BA,OAAwBA,CAAAC,IAAA,EAAoB;EAAA,IAAdC,OAAO,GAAAD,IAAA,CAAPC,OAAO;EACzC;EACA,IAAMC,MAAM,GAAGV,SAAS,CAAC,CAAC;EAE1B,IAAIS,OAAO,EAAE,oBAAOL,IAAA,CAAAF,SAAA;IAAAS,QAAA,EAAGF;EAAO,CAAG,CAAC;EAElC,oBACEH,KAAA;IACEM,KAAK,EAAE;MACLC,OAAO,EAAE,MAAM;MACfC,aAAa,EAAE,QAAQ;MACvBC,UAAU,EAAE,QAAQ;MACpBC,GAAG,EAAE,MAAM;MACXC,SAAS,EAAE;IACb,CAAE;IAAAN,QAAA,gBAEFP,IAAA;MAAKc,GAAG,EAAEnB,IAAK;MAACa,KAAK,EAAE;QAAEO,KAAK,EAAE,MAAM;QAAEC,MAAM,EAAE;MAAO;IAAE,CAAE,CAAC,eAC5DhB,IAAA;MAAIiB,SAAS,EAAEX,MAAM,CAACY,QAAS;MAAAX,QAAA,EAAC;IAAc,CAAI,CAAC;EAAA,CAChD,CAAC;AAEV,CAAC;AAED,eAAeJ,OAAO"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * XAdkProvider Compound Components
3
+ *
4
+ * 提供可组合的子组件,用于构建自定义聊天界面
5
+ */
6
+ export { default as Header } from './Header';
7
+ export { default as Sidebar } from './Sidebar';
8
+ export { default as Messages } from './Messages';
9
+ export { default as Sender } from './Sender';
10
+ export { default as Chatbot } from './Chatbot';
11
+ export { default as DefaultLayout } from './DefaultLayout';
12
+ export type { XAdkHeaderProps } from './Header';
13
+ export type { XAdkSidebarProps } from './Sidebar';
14
+ export type { XAdkMessagesProps } from './Messages';
15
+ export type { XAdkSenderCompoundProps } from './Sender';
16
+ export type { XAdkChatbotCompoundProps } from './Chatbot';
17
+ export type { DefaultLayoutProps } from './DefaultLayout';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * XAdkProvider Compound Components
3
+ *
4
+ * 提供可组合的子组件,用于构建自定义聊天界面
5
+ */
6
+
7
+ export { default as Header } from "./Header";
8
+ export { default as Sidebar } from "./Sidebar";
9
+ export { default as Messages } from "./Messages";
10
+ export { default as Sender } from "./Sender";
11
+ export { default as Chatbot } from "./Chatbot";
12
+ export { default as DefaultLayout } from "./DefaultLayout";
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","Header","Sidebar","Messages","Sender","Chatbot","DefaultLayout"],"sources":["../../../../../src/components/XAdkProvider/compound/index.ts"],"sourcesContent":["/**\n * XAdkProvider Compound Components\n *\n * 提供可组合的子组件,用于构建自定义聊天界面\n */\n\nexport { default as Header } from './Header';\nexport { default as Sidebar } from './Sidebar';\nexport { default as Messages } from './Messages';\nexport { default as Sender } from './Sender';\nexport { default as Chatbot } from './Chatbot';\nexport { default as DefaultLayout } from './DefaultLayout';\n\nexport type { XAdkHeaderProps } from './Header';\nexport type { XAdkSidebarProps } from './Sidebar';\nexport type { XAdkMessagesProps } from './Messages';\nexport type { XAdkSenderCompoundProps } from './Sender';\nexport type { XAdkChatbotCompoundProps } from './Chatbot';\nexport type { DefaultLayoutProps } from './DefaultLayout';\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,IAAIC,MAAM;AAC1B,SAASD,OAAO,IAAIE,OAAO;AAC3B,SAASF,OAAO,IAAIG,QAAQ;AAC5B,SAASH,OAAO,IAAII,MAAM;AAC1B,SAASJ,OAAO,IAAIK,OAAO;AAC3B,SAASL,OAAO,IAAIM,aAAa"}
@@ -0,0 +1,36 @@
1
+ export declare const useStyles: () => {
2
+ logoText: string;
3
+ } & {
4
+ w: (width: string | number) => string;
5
+ h: (height: string | number) => string;
6
+ p: (padding: string) => string;
7
+ pb: (padding: string | number) => string;
8
+ pt: (padding: string | number) => string;
9
+ pl: (padding: string | number) => string;
10
+ pr: (padding: string | number) => string;
11
+ m: (margin: string) => string;
12
+ mb: (margin: string | number) => string;
13
+ mt: (margin: string | number) => string;
14
+ ml: (margin: string | number) => string;
15
+ mr: (margin: string | number) => string;
16
+ text: (size: string | number) => string;
17
+ weight: (size: number) => string;
18
+ textColor: (c: string) => string;
19
+ bg: (c: string) => string;
20
+ rs: (radius: string | number) => string;
21
+ gap: (g: string | number) => string;
22
+ flex: string;
23
+ flexCenter: string;
24
+ flexBetween: string;
25
+ flexColumn: string;
26
+ flex1: string;
27
+ cursor: (type: string) => string;
28
+ border: (color: string, width?: string) => string;
29
+ boxShadow: (shadow: string) => string;
30
+ transition: (property?: string, duration?: string) => string;
31
+ overflow: (type: string) => string;
32
+ position: (type: string) => string;
33
+ zIndex: (index: number) => string;
34
+ flexCenterGap2: string;
35
+ flexCenterGap4: string;
36
+ };
@@ -0,0 +1,10 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+ var _templateObject;
3
+ import { css } from "@emotion/css";
4
+ import { withBasicStyles } from "../../../styles/common";
5
+ export var useStyles = withBasicStyles(function () {
6
+ return {
7
+ logoText: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n font-size: 30px;\n line-height: 36px;\n font-weight: 800;\n width: 100%;\n min-width: 330px;\n margin-top: 30px;\n color: transparent;\n background: linear-gradient(to right, #ff69b4, #4169e1);\n background-clip: text;\n width: 0;\n overflow: hidden;\n text-overflow: unset;\n white-space: nowrap;\n animation: typewiriter 1s forwards;\n "])))
8
+ };
9
+ });
10
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["css","withBasicStyles","useStyles","logoText","_templateObject","_taggedTemplateLiteral"],"sources":["../../../../../src/components/XAdkProvider/compound/styles.tsx"],"sourcesContent":["import { css } from \"@emotion/css\";\nimport { withBasicStyles } from \"@/styles/common\";\n\nexport const useStyles = withBasicStyles(() => ({\n logoText: css`\n font-size: 30px;\n line-height: 36px;\n font-weight: 800;\n width: 100%;\n min-width: 330px;\n margin-top: 30px;\n color: transparent;\n background: linear-gradient(to right, #ff69b4, #4169e1);\n background-clip: text;\n width: 0;\n overflow: hidden;\n text-overflow: unset;\n white-space: nowrap;\n animation: typewiriter 1s forwards;\n `,\n}));\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,cAAc;AAClC,SAASC,eAAe;AAExB,OAAO,IAAMC,SAAS,GAAGD,eAAe,CAAC;EAAA,OAAO;IAC9CE,QAAQ,EAAEH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,sBAAA;EAgBf,CAAC;AAAA,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /// <reference types="react" />
2
+ import type { SendContent, FunctionCall, IMessage } from "../../../types";
3
+ /**
4
+ * 聊天动作 Context
5
+ * 只包含操作方法,不包含状态数据
6
+ * 与 ChatStateContext 分离可以优化性能
7
+ */
8
+ export interface ChatActionContextType {
9
+ /** 发送消息 */
10
+ chat: (content: SendContent) => void;
11
+ /** 停止聊天 */
12
+ stopChat: () => void;
13
+ /** 清空/重置聊天 */
14
+ clearChat: () => void;
15
+ /** 重新发送 */
16
+ reChat: () => void;
17
+ /** 使用建议问题 */
18
+ suggestChat: (text: string) => void;
19
+ /** 确认函数调用 */
20
+ confirmFnCall: (fnCall: FunctionCall, confirmed: boolean) => void;
21
+ /** 设置消息列表 */
22
+ setMessages: React.Dispatch<React.SetStateAction<IMessage[]>>;
23
+ }
24
+ export declare const ChatActionContext: import("react").Context<ChatActionContextType | null>;
25
+ /**
26
+ * 使用聊天动作 Hook
27
+ * @returns ChatActionContextType
28
+ * @throws Error 如果在 XAdkProvider 外部使用
29
+ */
30
+ export declare const useChatActions: () => ChatActionContextType;
@@ -0,0 +1,23 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ /**
4
+ * 聊天动作 Context
5
+ * 只包含操作方法,不包含状态数据
6
+ * 与 ChatStateContext 分离可以优化性能
7
+ */
8
+
9
+ export var ChatActionContext = /*#__PURE__*/createContext(null);
10
+
11
+ /**
12
+ * 使用聊天动作 Hook
13
+ * @returns ChatActionContextType
14
+ * @throws Error 如果在 XAdkProvider 外部使用
15
+ */
16
+ export var useChatActions = function useChatActions() {
17
+ var context = useContext(ChatActionContext);
18
+ if (!context) {
19
+ throw new Error('useChatActions must be used within XAdkProvider');
20
+ }
21
+ return context;
22
+ };
23
+ //# sourceMappingURL=ChatActionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","ChatActionContext","useChatActions","context","Error"],"sources":["../../../../../src/components/XAdkProvider/context/ChatActionContext.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { SendContent, FunctionCall, IMessage } from '@/types';\n\n/**\n * 聊天动作 Context\n * 只包含操作方法,不包含状态数据\n * 与 ChatStateContext 分离可以优化性能\n */\nexport interface ChatActionContextType {\n /** 发送消息 */\n chat: (content: SendContent) => void;\n /** 停止聊天 */\n stopChat: () => void;\n /** 清空/重置聊天 */\n clearChat: () => void;\n /** 重新发送 */\n reChat: () => void;\n /** 使用建议问题 */\n suggestChat: (text: string) => void;\n /** 确认函数调用 */\n confirmFnCall: (fnCall: FunctionCall, confirmed: boolean) => void;\n /** 设置消息列表 */\n setMessages: React.Dispatch<React.SetStateAction<IMessage[]>>;\n}\n\nexport const ChatActionContext = createContext<ChatActionContextType | null>(null);\n\n/**\n * 使用聊天动作 Hook\n * @returns ChatActionContextType\n * @throws Error 如果在 XAdkProvider 外部使用\n */\nexport const useChatActions = () => {\n const context = useContext(ChatActionContext);\n if (!context) {\n throw new Error('useChatActions must be used within XAdkProvider');\n }\n return context;\n};\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;;AAGjD;AACA;AACA;AACA;AACA;;AAkBA,OAAO,IAAMC,iBAAiB,gBAAGF,aAAa,CAA+B,IAAI,CAAC;;AAElF;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;EAClC,IAAMC,OAAO,GAAGH,UAAU,CAACC,iBAAiB,CAAC;EAC7C,IAAI,CAACE,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC;EACpE;EACA,OAAOD,OAAO;AAChB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /// <reference types="react" />
2
+ import type { IMessage } from "../../../types";
3
+ import type { ChatConfig } from "../../../services/api";
4
+ /**
5
+ * 聊天状态 Context
6
+ * 只包含状态数据,不包含操作方法
7
+ * 这样可以避免不必要的 rerender
8
+ */
9
+ export interface ChatStateContextType {
10
+ /** 请求地址 */
11
+ url: string;
12
+ /** 会话令牌 */
13
+ token: string;
14
+ /** 消息列表 */
15
+ messages: IMessage[];
16
+ /** 加载状态 */
17
+ loading: boolean;
18
+ /** 当前会话 ID */
19
+ currentSessionId: string;
20
+ /** 开场白 */
21
+ prologue: string;
22
+ /** 建议问题列表 */
23
+ suggestions: string[];
24
+ /** 应用配置信息 */
25
+ appInfo: ChatConfig | null;
26
+ /** 是否已初始化 */
27
+ initialized: boolean;
28
+ }
29
+ export declare const ChatStateContext: import("react").Context<ChatStateContextType | null>;
30
+ /**
31
+ * 使用聊天状态 Hook
32
+ * @returns ChatStateContextType
33
+ * @throws Error 如果在 XAdkProvider 外部使用
34
+ */
35
+ export declare const useChatState: () => ChatStateContextType;
@@ -0,0 +1,23 @@
1
+ import { createContext, useContext } from "react";
2
+
3
+ /**
4
+ * 聊天状态 Context
5
+ * 只包含状态数据,不包含操作方法
6
+ * 这样可以避免不必要的 rerender
7
+ */
8
+
9
+ export var ChatStateContext = /*#__PURE__*/createContext(null);
10
+
11
+ /**
12
+ * 使用聊天状态 Hook
13
+ * @returns ChatStateContextType
14
+ * @throws Error 如果在 XAdkProvider 外部使用
15
+ */
16
+ export var useChatState = function useChatState() {
17
+ var context = useContext(ChatStateContext);
18
+ if (!context) {
19
+ throw new Error("useChatState must be used within XAdkProvider");
20
+ }
21
+ return context;
22
+ };
23
+ //# sourceMappingURL=ChatStateContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","ChatStateContext","useChatState","context","Error"],"sources":["../../../../../src/components/XAdkProvider/context/ChatStateContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type { IMessage } from \"@/types\";\nimport type { ChatConfig } from \"@/services/api\";\n\n/**\n * 聊天状态 Context\n * 只包含状态数据,不包含操作方法\n * 这样可以避免不必要的 rerender\n */\nexport interface ChatStateContextType {\n /** 请求地址 */\n url: string;\n /** 会话令牌 */\n token: string;\n /** 消息列表 */\n messages: IMessage[];\n /** 加载状态 */\n loading: boolean;\n /** 当前会话 ID */\n currentSessionId: string;\n /** 开场白 */\n prologue: string;\n /** 建议问题列表 */\n suggestions: string[];\n /** 应用配置信息 */\n appInfo: ChatConfig | null;\n /** 是否已初始化 */\n initialized: boolean;\n}\n\nexport const ChatStateContext = createContext<ChatStateContextType | null>(\n null,\n);\n\n/**\n * 使用聊天状态 Hook\n * @returns ChatStateContextType\n * @throws Error 如果在 XAdkProvider 外部使用\n */\nexport const useChatState = () => {\n const context = useContext(ChatStateContext);\n if (!context) {\n throw new Error(\"useChatState must be used within XAdkProvider\");\n }\n return context;\n};\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;;AAIjD;AACA;AACA;AACA;AACA;;AAsBA,OAAO,IAAMC,gBAAgB,gBAAGF,aAAa,CAC3C,IACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;EAChC,IAAMC,OAAO,GAAGH,UAAU,CAACC,gBAAgB,CAAC;EAC5C,IAAI,CAACE,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,+CAA+C,CAAC;EAClE;EACA,OAAOD,OAAO;AAChB,CAAC"}