@hina114514/chaite 1.9.3

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 (427) hide show
  1. package/README.md +143 -0
  2. package/dist/__dirname-xAmdQ8wE.mjs +13 -0
  3. package/dist/__dirname.d.ts +4 -0
  4. package/dist/__dirname.mjs +4 -0
  5. package/dist/adapters-BeZFg37c.mjs +30 -0
  6. package/dist/chunks/@anthropic-ai/sdk/index.mjs-BBdoshoG.mjs +44887 -0
  7. package/dist/chunks/@google/genai/index.mjs-CJMm4uh0.mjs +25136 -0
  8. package/dist/chunks/@karinjs/node-schedule/index.mjs-UoPXNUgp.mjs +8403 -0
  9. package/dist/chunks/@xmldom/xmldom/index.mjs-BARr5-gb.mjs +4280 -0
  10. package/dist/chunks/accepts/index.mjs-BpfWQu4-.mjs +8009 -0
  11. package/dist/chunks/agent-base/index.mjs-BZ87hIEB.mjs +199 -0
  12. package/dist/chunks/array-flatten/index.mjs-CFicqOhD.mjs +54 -0
  13. package/dist/chunks/bluebird/index.mjs-D4zFjek8.mjs +4094 -0
  14. package/dist/chunks/body-parser/index.mjs-BrUY71SQ.mjs +13756 -0
  15. package/dist/chunks/chokidar/index.mjs-BvSuth5p.mjs +1537 -0
  16. package/dist/chunks/content-disposition/index.mjs-DqMQ6Fbz.mjs +307 -0
  17. package/dist/chunks/cookie/index.mjs-CTmQWCqd.mjs +243 -0
  18. package/dist/chunks/cookie-signature/index.mjs-CIA1F6JJ.mjs +46 -0
  19. package/dist/chunks/core-util-is/index.mjs-C0h_2dGX.mjs +69 -0
  20. package/dist/chunks/cors/index.mjs-DGt6p49t.mjs +311 -0
  21. package/dist/chunks/data-uri-to-buffer/index.mjs-CLj4bast.mjs +44 -0
  22. package/dist/chunks/debug/index.mjs-BgKBSuIO.mjs +703 -0
  23. package/dist/chunks/dingbat-to-unicode/index.mjs-DjR5pQCM.mjs +7481 -0
  24. package/dist/chunks/encodeurl/index.mjs-CvPRUh2S.mjs +105 -0
  25. package/dist/chunks/escape-html/index.mjs-CeA_Z7EO.mjs +65 -0
  26. package/dist/chunks/etag/index.mjs-D58ziXwz.mjs +80 -0
  27. package/dist/chunks/express/index.mjs-CHnhA_pr.mjs +6787 -0
  28. package/dist/chunks/fetch-blob/index.mjs-Pm1zUh3g.mjs +3803 -0
  29. package/dist/chunks/formdata-node/index.mjs-B2Ji6hC0.mjs +92 -0
  30. package/dist/chunks/formdata-polyfill/index.mjs-BTkafjCT.mjs +87 -0
  31. package/dist/chunks/https-proxy-agent/index.mjs-DTZuZn-J.mjs +239 -0
  32. package/dist/chunks/immediate/index.mjs-CkWjI_b-.mjs +59 -0
  33. package/dist/chunks/isarray/index.mjs-DaT02uUW.mjs +12 -0
  34. package/dist/chunks/jszip/index.mjs-CvfsTniy.mjs +8599 -0
  35. package/dist/chunks/lop/index.mjs-BWbOMJZv.mjs +3540 -0
  36. package/dist/chunks/mammoth/index.mjs-C9xwBIgf.mjs +5081 -0
  37. package/dist/chunks/node-fetch/index.mjs-Cdihbb0Q.mjs +1446 -0
  38. package/dist/chunks/openai/index.mjs-M-HPLtaS.mjs +6691 -0
  39. package/dist/dist-C0tgywA-.mjs +8 -0
  40. package/dist/fileFromPath-CJ_N7wA9.mjs +6 -0
  41. package/dist/index.d.ts +1579 -0
  42. package/dist/index.mjs +30 -0
  43. package/dist/multipart-parser-CCl_4A7w.mjs +6 -0
  44. package/dist/rolldown-runtime-DVriDoez.mjs +43 -0
  45. package/dist/src-BjDIhdKO.mjs +5179 -0
  46. package/dist/src-DmcKtGy2.mjs +7 -0
  47. package/dist/types-6jzst6Q4.mjs +30 -0
  48. package/frontend/build/assets/ChannelFormModal-1GO2eD4m.css +1 -0
  49. package/frontend/build/assets/ChannelFormModal-B6e7ZIO6.js +5 -0
  50. package/frontend/build/assets/ChannelFormModal-CV7fs6-7.js +5 -0
  51. package/frontend/build/assets/ChannelFormModal-DBZyhZDI.css +1 -0
  52. package/frontend/build/assets/ChannelFormModal-DL0qkZX-.js +5 -0
  53. package/frontend/build/assets/ChannelFormModal-DuAAlw-8.js +5 -0
  54. package/frontend/build/assets/ChannelFormModal-Hp6Y4QBc.js +5 -0
  55. package/frontend/build/assets/ChannelFormModal-xPhm1bZd.js +5 -0
  56. package/frontend/build/assets/Checkbox-BvK-NJJX.js +105 -0
  57. package/frontend/build/assets/Checkbox-CNMr2-eQ.js +105 -0
  58. package/frontend/build/assets/Checkbox-DOJuZG8N.js +105 -0
  59. package/frontend/build/assets/Checkbox-DWREbqxa.js +105 -0
  60. package/frontend/build/assets/Checkbox-HPhUtTKu.js +105 -0
  61. package/frontend/build/assets/Checkbox-gNUlkipW.js +105 -0
  62. package/frontend/build/assets/CollapseItem-7YFuTj31.js +41 -0
  63. package/frontend/build/assets/CollapseItem-BVnC3pah.js +41 -0
  64. package/frontend/build/assets/CollapseItem-Bk7f5wCb.js +41 -0
  65. package/frontend/build/assets/CollapseItem-Calq76Jj.js +41 -0
  66. package/frontend/build/assets/CollapseItem-DOnuDO5j.js +41 -0
  67. package/frontend/build/assets/CollapseItem-fWJBGjAw.js +41 -0
  68. package/frontend/build/assets/ConversationDetailDrawer-BYG2DS4S.js +1 -0
  69. package/frontend/build/assets/ConversationDetailDrawer-BYZeaeoF.js +1 -0
  70. package/frontend/build/assets/ConversationDetailDrawer-gVn82fSx.js +1 -0
  71. package/frontend/build/assets/ConversationDetailDrawer-jtT8U08c.js +1 -0
  72. package/frontend/build/assets/ConversationDetailDrawer-m-rNIWZj.js +1 -0
  73. package/frontend/build/assets/ConversationDetailDrawer-xbhamnIs.js +1 -0
  74. package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-BRZBnJxg.js +97 -0
  75. package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-BnR3ffRY.js +97 -0
  76. package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-C0KA87GQ.js +97 -0
  77. package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-CnLM8_TJ.js +97 -0
  78. package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-CzZvhLM_.js +97 -0
  79. package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-U0BsqrL8.js +97 -0
  80. package/frontend/build/assets/DataTable-4ViTZyB6.js +457 -0
  81. package/frontend/build/assets/DataTable-B8zZmlji.js +457 -0
  82. package/frontend/build/assets/DataTable-BNjopWG3.js +457 -0
  83. package/frontend/build/assets/DataTable-CZyItGh5.js +457 -0
  84. package/frontend/build/assets/DataTable-DJj26Pzn.js +454 -0
  85. package/frontend/build/assets/DataTable-DoEbD9LL.js +457 -0
  86. package/frontend/build/assets/DynamicTags-BccLo-fc.js +1 -0
  87. package/frontend/build/assets/DynamicTags-Bmg43ONH.js +1 -0
  88. package/frontend/build/assets/DynamicTags-CyLbZ9I2.js +1 -0
  89. package/frontend/build/assets/DynamicTags-DNTdDdGA.js +1 -0
  90. package/frontend/build/assets/DynamicTags-VCyQf17w.js +1 -0
  91. package/frontend/build/assets/DynamicTags-rIgGdrL5.js +1 -0
  92. package/frontend/build/assets/Ellipsis-BST77ylS.js +187 -0
  93. package/frontend/build/assets/Ellipsis-BTz09kpN.js +187 -0
  94. package/frontend/build/assets/Ellipsis-BbsLqJtK.js +187 -0
  95. package/frontend/build/assets/Ellipsis-BdMplm4D.js +187 -0
  96. package/frontend/build/assets/Ellipsis-C3lHtvjF.js +187 -0
  97. package/frontend/build/assets/Ellipsis-CEbBdn2n.js +187 -0
  98. package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-B5o0iz7y.js +1 -0
  99. package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-BTf_XpHq.js +1 -0
  100. package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-DFWrNfDB.js +1 -0
  101. package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-DTFtcs8p.js +1 -0
  102. package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-QKywH0iL.js +1 -0
  103. package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-q7wMY1La.js +1 -0
  104. package/frontend/build/assets/FormItem-BFYeYoTE.js +110 -0
  105. package/frontend/build/assets/FormItem-B_V_gknG.js +110 -0
  106. package/frontend/build/assets/FormItem-C2ziP3u7.js +110 -0
  107. package/frontend/build/assets/FormItem-CDsgx_ab.js +110 -0
  108. package/frontend/build/assets/FormItem-D5nKwNGe.js +110 -0
  109. package/frontend/build/assets/FormItem-DcKuwtDH.js +110 -0
  110. package/frontend/build/assets/FormItemGridItem-BiRqZE_B.js +1 -0
  111. package/frontend/build/assets/FormItemGridItem-CEbJWTJd.js +1 -0
  112. package/frontend/build/assets/FormItemGridItem-DaKl8_2L.js +1 -0
  113. package/frontend/build/assets/FormItemGridItem-DkQ8mrOt.js +1 -0
  114. package/frontend/build/assets/FormItemGridItem-YEC3z4HO.js +1 -0
  115. package/frontend/build/assets/FormItemGridItem-cjYQS3d8.js +1 -0
  116. package/frontend/build/assets/Grid-0zzIexHr.js +1 -0
  117. package/frontend/build/assets/Grid-BNlPkf-g.js +1 -0
  118. package/frontend/build/assets/Grid-CmLEm3vL.js +1 -0
  119. package/frontend/build/assets/Grid-CqcXqV8U.js +1 -0
  120. package/frontend/build/assets/Grid-DmeNHOJx.js +1 -0
  121. package/frontend/build/assets/Grid-WK2vuhLP.js +1 -0
  122. package/frontend/build/assets/Image-CMvlvuJp.js +132 -0
  123. package/frontend/build/assets/Image-CbdTV78X.js +132 -0
  124. package/frontend/build/assets/Image-Cf2fbKtf.js +132 -0
  125. package/frontend/build/assets/Image-Crg2QYhk.js +132 -0
  126. package/frontend/build/assets/Image-D53Xywez.js +132 -0
  127. package/frontend/build/assets/Image-tNy1v7mL.js +132 -0
  128. package/frontend/build/assets/InputNumber-BjfLyebn.js +13 -0
  129. package/frontend/build/assets/InputNumber-BtSrvYnH.js +13 -0
  130. package/frontend/build/assets/InputNumber-BxeR-3jl.js +13 -0
  131. package/frontend/build/assets/InputNumber-C7hKPk7P.js +13 -0
  132. package/frontend/build/assets/InputNumber-CbRGvPDs.js +13 -0
  133. package/frontend/build/assets/InputNumber-qiteD5Uu.js +13 -0
  134. package/frontend/build/assets/MessageContentCard-333YPcPx.js +1 -0
  135. package/frontend/build/assets/MessageContentCard-B0-LvWuB.js +1 -0
  136. package/frontend/build/assets/MessageContentCard-C2uRLdgO.js +1 -0
  137. package/frontend/build/assets/MessageContentCard-CjL6sc3W.js +1 -0
  138. package/frontend/build/assets/MessageContentCard-D3wLdleV.css +1 -0
  139. package/frontend/build/assets/MessageContentCard-DQ6w5avD.css +1 -0
  140. package/frontend/build/assets/MessageContentCard-DRoS4fsn.js +1 -0
  141. package/frontend/build/assets/MessageContentCard-DRsw0lK-.js +1 -0
  142. package/frontend/build/assets/Popconfirm-DsC1UchR.js +16 -0
  143. package/frontend/build/assets/Popconfirm-wmBfNL4Y.js +16 -0
  144. package/frontend/build/assets/PresetFormModal-B87TaT8J.js +1 -0
  145. package/frontend/build/assets/PresetFormModal-BpleAL8Z.js +1 -0
  146. package/frontend/build/assets/PresetFormModal-BrNCyqXq.css +1 -0
  147. package/frontend/build/assets/PresetFormModal-D6bXLlH2.css +1 -0
  148. package/frontend/build/assets/PresetFormModal-D8RNddGW.css +1 -0
  149. package/frontend/build/assets/PresetFormModal-DZlJ1Vcp.css +1 -0
  150. package/frontend/build/assets/PresetFormModal-Dah-5WHj.js +1 -0
  151. package/frontend/build/assets/PresetFormModal-DepNynU1.js +1 -0
  152. package/frontend/build/assets/PresetFormModal-Diebn4cS.js +1 -0
  153. package/frontend/build/assets/PresetFormModal-Dol9eToM.js +1 -0
  154. package/frontend/build/assets/PresetFormModal-ah6zWfbB.css +1 -0
  155. package/frontend/build/assets/ProcessorFormModal-BLiL3tFS.js +1 -0
  156. package/frontend/build/assets/ProcessorFormModal-C4rqrypu.js +1 -0
  157. package/frontend/build/assets/ProcessorFormModal-D9X5zzKG.js +1 -0
  158. package/frontend/build/assets/ProcessorFormModal-Ik7zSGUU.js +1 -0
  159. package/frontend/build/assets/ProcessorFormModal-Q5ARXwwU.js +1 -0
  160. package/frontend/build/assets/ProcessorFormModal-vpoqf_VP.js +1 -0
  161. package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-BK03vxpt.js +42 -0
  162. package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-D8NYnQ0b.js +42 -0
  163. package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-DKnpVb21.js +42 -0
  164. package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-DQayqXcu.js +42 -0
  165. package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-EUAgxSFF.js +42 -0
  166. package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-HZQFntw0.js +42 -0
  167. package/frontend/build/assets/Spin-BP0yPWNS.js +43 -0
  168. package/frontend/build/assets/Spin-C2G3wcnB.js +43 -0
  169. package/frontend/build/assets/Spin-C7sqRNqw.js +43 -0
  170. package/frontend/build/assets/Spin-Cy3cVx8W.js +43 -0
  171. package/frontend/build/assets/Spin-UrFjnOlY.js +43 -0
  172. package/frontend/build/assets/Spin-yYcNW-yl.js +43 -0
  173. package/frontend/build/assets/ToolFormModal-CVZFxPxz.js +1 -0
  174. package/frontend/build/assets/ToolFormModal-CgHH9Bbh.js +1 -0
  175. package/frontend/build/assets/ToolFormModal-D7NFHjzM.js +1 -0
  176. package/frontend/build/assets/ToolFormModal-DpVk5ooz.js +1 -0
  177. package/frontend/build/assets/ToolFormModal-DsS34Jdc.js +1 -0
  178. package/frontend/build/assets/ToolFormModal-hx-a_w1d.js +1 -0
  179. package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-Biq3KQMr.js +51 -0
  180. package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-DAbXNKv-.js +51 -0
  181. package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-DGdJ6txC.js +51 -0
  182. package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-QIhGuSJV.js +51 -0
  183. package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-sVSPLzuy.js +51 -0
  184. package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-yH3HeP81.js +51 -0
  185. package/frontend/build/assets/ToolGroupFormModal-2uJQDkUz.js +1 -0
  186. package/frontend/build/assets/ToolGroupFormModal-B-OxsC_e.js +1 -0
  187. package/frontend/build/assets/ToolGroupFormModal-CXbSBPSI.js +1 -0
  188. package/frontend/build/assets/ToolGroupFormModal-CeF3hW-I.js +1 -0
  189. package/frontend/build/assets/ToolGroupFormModal-DfEZcYi7.js +1 -0
  190. package/frontend/build/assets/ToolGroupFormModal-DvGS2rQd.js +1 -0
  191. package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-AsEJ8jCe.js +146 -0
  192. package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-B5V2XNND.js +146 -0
  193. package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-BYmI5807.js +146 -0
  194. package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-C32gc6LQ.js +146 -0
  195. package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-CRwhppLH.js +146 -0
  196. package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-Cz49lSiC.js +146 -0
  197. package/frontend/build/assets/TriggerFormModal-B9hL6DT2.js +1 -0
  198. package/frontend/build/assets/TriggerFormModal-D6tlqZPa.js +1 -0
  199. package/frontend/build/assets/TriggerFormModal-DngyRFuZ.js +1 -0
  200. package/frontend/build/assets/TriggerFormModal-jUjJ3cpY.js +1 -0
  201. package/frontend/build/assets/TriggerFormModal-zyHfq9gk.js +1 -0
  202. package/frontend/build/assets/TriggerFormModal.vue_vue_type_script_setup_true_lang-65eiY_Fl.js +15 -0
  203. package/frontend/build/assets/TriggerFormModal.vue_vue_type_script_setup_true_lang-BDVxuECo.js +15 -0
  204. package/frontend/build/assets/TriggerFormModal.vue_vue_type_script_setup_true_lang-BGdRzXOm.js +15 -0
  205. package/frontend/build/assets/TriggerFormModal.vue_vue_type_script_setup_true_lang-Bq6N6Y6d.js +15 -0
  206. package/frontend/build/assets/TriggerFormModal.vue_vue_type_script_setup_true_lang-DPcB1irn.js +15 -0
  207. package/frontend/build/assets/add-one-BaGYp8TD.js +1 -0
  208. package/frontend/build/assets/add-one-CTqCiftQ.js +1 -0
  209. package/frontend/build/assets/add-one-DBohvXa7.js +1 -0
  210. package/frontend/build/assets/add-one-DQqaMb3g.js +1 -0
  211. package/frontend/build/assets/add-one-DT3qGnwW.js +1 -0
  212. package/frontend/build/assets/add-one-DenQ1X6U.js +1 -0
  213. package/frontend/build/assets/channels-5BB_92I-.js +1 -0
  214. package/frontend/build/assets/channels-C2i9C4LP.js +1 -0
  215. package/frontend/build/assets/channels-C53UiHV8.js +1 -0
  216. package/frontend/build/assets/channels-Cm8UM1Z7.js +1 -0
  217. package/frontend/build/assets/channels-DdlEEU3s.js +1 -0
  218. package/frontend/build/assets/channels-DzKbsjiA.js +1 -0
  219. package/frontend/build/assets/cloudy-BnletBC6.js +1 -0
  220. package/frontend/build/assets/cloudy-C02z4bvP.js +1 -0
  221. package/frontend/build/assets/cloudy-DCLcLr7j.js +1 -0
  222. package/frontend/build/assets/cloudy-DEHW5vHA.js +1 -0
  223. package/frontend/build/assets/cloudy-MrNAszHw.js +1 -0
  224. package/frontend/build/assets/cloudy-zp1Y9L1v.js +1 -0
  225. package/frontend/build/assets/default-resource.png +0 -0
  226. package/frontend/build/assets/download-C2161hUv.js +1 -0
  227. package/frontend/build/assets/error-403-VPEqmg7m.svg +1 -0
  228. package/frontend/build/assets/error-404-DLMSXL2R.svg +1 -0
  229. package/frontend/build/assets/error-500-C1R4JvdT.svg +1 -0
  230. package/frontend/build/assets/gemini-full-DjWArg1A.png +0 -0
  231. package/frontend/build/assets/headers-CYAAtr6C.js +16 -0
  232. package/frontend/build/assets/headers-CiEBSHa2.js +16 -0
  233. package/frontend/build/assets/headers-D9Kcnpmr.js +16 -0
  234. package/frontend/build/assets/headers-PaTXxtPR.js +16 -0
  235. package/frontend/build/assets/headers-UoeXy2eZ.js +16 -0
  236. package/frontend/build/assets/headers-VVIzblQ_.js +16 -0
  237. package/frontend/build/assets/index--eQYnbum.js +1 -0
  238. package/frontend/build/assets/index-03UGSOxl.js +3022 -0
  239. package/frontend/build/assets/index-2VSakRqN.js +1 -0
  240. package/frontend/build/assets/index-2WhMzyiQ.js +1 -0
  241. package/frontend/build/assets/index-2_Tj01eS.js +1 -0
  242. package/frontend/build/assets/index-2ds3nwBz.js +1 -0
  243. package/frontend/build/assets/index-5HLgPZyA.js +1 -0
  244. package/frontend/build/assets/index-A-Nxva_P.js +1 -0
  245. package/frontend/build/assets/index-AOaD5c69.css +1 -0
  246. package/frontend/build/assets/index-AxmlVWLb.js +88 -0
  247. package/frontend/build/assets/index-B1vc1sYC.js +88 -0
  248. package/frontend/build/assets/index-B2xcn1Zp.js +88 -0
  249. package/frontend/build/assets/index-B3vwplQQ.js +1 -0
  250. package/frontend/build/assets/index-B3xgRJTP.js +1 -0
  251. package/frontend/build/assets/index-B5DOGUIX.js +1 -0
  252. package/frontend/build/assets/index-B6OH0R7T.js +1 -0
  253. package/frontend/build/assets/index-B84-YkMr.js +1 -0
  254. package/frontend/build/assets/index-BEeRPoRP.css +1 -0
  255. package/frontend/build/assets/index-BG6BPhzo.js +1 -0
  256. package/frontend/build/assets/index-BITQakTn.js +1 -0
  257. package/frontend/build/assets/index-BMLd3diZ.js +1 -0
  258. package/frontend/build/assets/index-BVn0o2ft.js +1 -0
  259. package/frontend/build/assets/index-BWa7FUv_.css +1 -0
  260. package/frontend/build/assets/index-BX8jlXqW.js +1 -0
  261. package/frontend/build/assets/index-BfkNMt-Z.js +4 -0
  262. package/frontend/build/assets/index-BiTjEGM3.js +1 -0
  263. package/frontend/build/assets/index-BjIbFF1J.css +1 -0
  264. package/frontend/build/assets/index-BjlhqqjK.js +1 -0
  265. package/frontend/build/assets/index-BnFsJO-x.css +1 -0
  266. package/frontend/build/assets/index-BnLYNBvb.js +34 -0
  267. package/frontend/build/assets/index-BpyNu5uz.css +1 -0
  268. package/frontend/build/assets/index-Bq8g4Sjx.js +34 -0
  269. package/frontend/build/assets/index-BqnNVMWz.js +1 -0
  270. package/frontend/build/assets/index-BqvhG25P.js +1 -0
  271. package/frontend/build/assets/index-BxVOuJCR.js +88 -0
  272. package/frontend/build/assets/index-C0cu-RWI.js +1 -0
  273. package/frontend/build/assets/index-C3PU0-pz.js +1 -0
  274. package/frontend/build/assets/index-C6PGuM0W.js +1 -0
  275. package/frontend/build/assets/index-C8kC4vgj.js +73 -0
  276. package/frontend/build/assets/index-C929_ci3.js +1 -0
  277. package/frontend/build/assets/index-CAvXXNvC.js +4 -0
  278. package/frontend/build/assets/index-CH4h1wcf.js +1 -0
  279. package/frontend/build/assets/index-CIJ6rjR4.js +1 -0
  280. package/frontend/build/assets/index-CIr65QIJ.js +88 -0
  281. package/frontend/build/assets/index-CJIWqxBN.js +3022 -0
  282. package/frontend/build/assets/index-CK1nPYvM.js +1 -0
  283. package/frontend/build/assets/index-CKrf6ZAU.js +1 -0
  284. package/frontend/build/assets/index-CLfO7Gf6.js +1 -0
  285. package/frontend/build/assets/index-C_X4kJPv.js +1 -0
  286. package/frontend/build/assets/index-C_Y4E6cV.js +1 -0
  287. package/frontend/build/assets/index-Cb7i0EbW.js +1 -0
  288. package/frontend/build/assets/index-CbWw_OnJ.js +1 -0
  289. package/frontend/build/assets/index-CbeMIVMe.js +1 -0
  290. package/frontend/build/assets/index-CdNjPHZ4.css +1 -0
  291. package/frontend/build/assets/index-CeFBXiHy.js +34 -0
  292. package/frontend/build/assets/index-CfqNGf3J.js +1 -0
  293. package/frontend/build/assets/index-Cgw3BtX5.js +1 -0
  294. package/frontend/build/assets/index-Ci64noNy.js +4 -0
  295. package/frontend/build/assets/index-CpE2LZf6.js +88 -0
  296. package/frontend/build/assets/index-CqKFcCqq.js +1 -0
  297. package/frontend/build/assets/index-CrbhbDn6.js +1 -0
  298. package/frontend/build/assets/index-Csi2jHp6.js +1 -0
  299. package/frontend/build/assets/index-CuRn3Zj6.js +1 -0
  300. package/frontend/build/assets/index-Cvb6isPu.js +34 -0
  301. package/frontend/build/assets/index-D1keqYcn.js +1 -0
  302. package/frontend/build/assets/index-D4yD21Ii.js +1 -0
  303. package/frontend/build/assets/index-D60uSbJs.css +1 -0
  304. package/frontend/build/assets/index-D6ESmTyE.js +51 -0
  305. package/frontend/build/assets/index-D81JopND.js +1 -0
  306. package/frontend/build/assets/index-D8Ea2ZYj.js +1 -0
  307. package/frontend/build/assets/index-D8GATqgc.js +88 -0
  308. package/frontend/build/assets/index-DAP5yTaX.js +1 -0
  309. package/frontend/build/assets/index-DBBLpo8h.js +73 -0
  310. package/frontend/build/assets/index-DBaGV7UL.js +1 -0
  311. package/frontend/build/assets/index-DEVf6CSD.css +1 -0
  312. package/frontend/build/assets/index-DG-8CbiW.css +1 -0
  313. package/frontend/build/assets/index-DGBf1FIP.js +1 -0
  314. package/frontend/build/assets/index-DGJCAKZq.js +1 -0
  315. package/frontend/build/assets/index-DGyDjezP.js +1 -0
  316. package/frontend/build/assets/index-DJdQ0nV5.js +3022 -0
  317. package/frontend/build/assets/index-DK0t9ttf.js +51 -0
  318. package/frontend/build/assets/index-DNH9PMk-.js +1 -0
  319. package/frontend/build/assets/index-DOSf5RcO.css +1 -0
  320. package/frontend/build/assets/index-DOpBnx1_.js +3 -0
  321. package/frontend/build/assets/index-DOpZxAwZ.js +1 -0
  322. package/frontend/build/assets/index-DPHVwNRA.js +1 -0
  323. package/frontend/build/assets/index-DSzihJo9.js +1 -0
  324. package/frontend/build/assets/index-DVJZAGXg.js +1 -0
  325. package/frontend/build/assets/index-DXr1ddHm.js +3 -0
  326. package/frontend/build/assets/index-DamztouA.js +1 -0
  327. package/frontend/build/assets/index-Dd2IZqLs.js +1 -0
  328. package/frontend/build/assets/index-DfOc9UlB.js +1 -0
  329. package/frontend/build/assets/index-DgVSxPXN.css +1 -0
  330. package/frontend/build/assets/index-Dhp8dh5v.js +1 -0
  331. package/frontend/build/assets/index-DlqpxOQl.css +1 -0
  332. package/frontend/build/assets/index-DlvxwSxx.js +1 -0
  333. package/frontend/build/assets/index-Dn5ZzrRm.css +1 -0
  334. package/frontend/build/assets/index-Dp1faHeH.js +3020 -0
  335. package/frontend/build/assets/index-DsLf2ZDE.js +1 -0
  336. package/frontend/build/assets/index-DsUl8Ptm.js +1 -0
  337. package/frontend/build/assets/index-Dw0tLRur.js +1 -0
  338. package/frontend/build/assets/index-DwXVBZsv.js +1 -0
  339. package/frontend/build/assets/index-DyaHYcgL.js +1 -0
  340. package/frontend/build/assets/index-DzBQLoNi.js +3022 -0
  341. package/frontend/build/assets/index-GrVsVGKe.js +1 -0
  342. package/frontend/build/assets/index-IzGzRXKT.js +1 -0
  343. package/frontend/build/assets/index-MHTC5Jaf.js +1 -0
  344. package/frontend/build/assets/index-PDPwUSMg.js +34 -0
  345. package/frontend/build/assets/index-QYahACFP.css +1 -0
  346. package/frontend/build/assets/index-QkZPwKD6.js +88 -0
  347. package/frontend/build/assets/index-Tg84pa9I.js +88 -0
  348. package/frontend/build/assets/index-UL4MAKLb.js +88 -0
  349. package/frontend/build/assets/index-aa34KBYr.js +34 -0
  350. package/frontend/build/assets/index-ajvK6t0Y.js +1 -0
  351. package/frontend/build/assets/index-b5SryupN.js +1 -0
  352. package/frontend/build/assets/index-d3LI8LJL.js +4 -0
  353. package/frontend/build/assets/index-e1kUgjjO.js +1 -0
  354. package/frontend/build/assets/index-jTalI0G5.js +1 -0
  355. package/frontend/build/assets/index-jZroxcSG.js +1 -0
  356. package/frontend/build/assets/index-kLEe-31q.js +3022 -0
  357. package/frontend/build/assets/index-nxD1J_1U.js +1 -0
  358. package/frontend/build/assets/index-qD9Q6D9I.js +1 -0
  359. package/frontend/build/assets/index-uBZFl8l2.js +1 -0
  360. package/frontend/build/assets/index-wr8bxnDK.js +1 -0
  361. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-B4NwmABd.js +1 -0
  362. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-B4oNPU3q.js +1 -0
  363. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-BBmwAav-.js +1 -0
  364. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-BOOc15c_.js +1 -0
  365. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-BY9Af5Nc.js +1 -0
  366. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-Bej651CN.js +1 -0
  367. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-C2vb4Dqf.js +1 -0
  368. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-CL2618tE.js +1 -0
  369. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-CLxSBkmO.js +1 -0
  370. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-C_JTuf1y.js +1 -0
  371. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-CcJN846R.js +1 -0
  372. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-CijuxZr1.js +1 -0
  373. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-CmP-e403.js +1 -0
  374. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-Cs16N-Xd.js +1 -0
  375. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-D06MdY7a.js +1 -0
  376. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-DdgjuITP.js +1 -0
  377. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-DuLmC4Hy.js +1 -0
  378. package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-i_-VJTVk.js +1 -0
  379. package/frontend/build/assets/logo-B8LLnbYy.jpg +0 -0
  380. package/frontend/build/assets/memory-C4zB60HJ.js +1 -0
  381. package/frontend/build/assets/memory-DHzPXs82.js +1 -0
  382. package/frontend/build/assets/presets-8ZEu20ZL.js +1 -0
  383. package/frontend/build/assets/presets-Bbyt0PjB.js +1 -0
  384. package/frontend/build/assets/presets-DGMnsFyv.js +1 -0
  385. package/frontend/build/assets/presets-DqF27psW.js +1 -0
  386. package/frontend/build/assets/presets-N8YNqfPr.js +1 -0
  387. package/frontend/build/assets/presets-cCI64Dxi.js +1 -0
  388. package/frontend/build/assets/preview-close-one-BtVZjDje.js +1 -0
  389. package/frontend/build/assets/preview-close-one-CduaZ9go.js +1 -0
  390. package/frontend/build/assets/preview-close-one-DQdsMFNB.js +1 -0
  391. package/frontend/build/assets/preview-close-one-DZiBTyj3.js +1 -0
  392. package/frontend/build/assets/preview-close-one-ZEGMXVTp.js +1 -0
  393. package/frontend/build/assets/preview-close-one-vOfiPsm0.js +1 -0
  394. package/frontend/build/assets/preview-open--FMuWVpI.js +1 -0
  395. package/frontend/build/assets/preview-open-5axv2eoi.js +1 -0
  396. package/frontend/build/assets/preview-open-BwhyOZZZ.js +1 -0
  397. package/frontend/build/assets/preview-open-CEgCXCaz.js +1 -0
  398. package/frontend/build/assets/preview-open-CIsmwiay.js +1 -0
  399. package/frontend/build/assets/preview-open-DqXcn0Io.js +1 -0
  400. package/frontend/build/assets/processors-0_RUgaZm.js +1 -0
  401. package/frontend/build/assets/processors-BGAbvhSk.js +1 -0
  402. package/frontend/build/assets/processors-CJsyXjR7.js +1 -0
  403. package/frontend/build/assets/processors-CmJ007yb.js +1 -0
  404. package/frontend/build/assets/processors-CsDJer4R.js +1 -0
  405. package/frontend/build/assets/processors-on-PUe_q.js +1 -0
  406. package/frontend/build/assets/prop-BjyUHhTu.js +1 -0
  407. package/frontend/build/assets/text-BU3n8x_S.js +21 -0
  408. package/frontend/build/assets/text-BdCfEojD.js +21 -0
  409. package/frontend/build/assets/text-BfkuQm58.js +21 -0
  410. package/frontend/build/assets/text-BhKp8kwX.js +21 -0
  411. package/frontend/build/assets/text-C8WlRvWq.js +21 -0
  412. package/frontend/build/assets/text-Dm8ZXeiW.js +21 -0
  413. package/frontend/build/assets/toolGroup-BpThfFxc.js +1 -0
  414. package/frontend/build/assets/toolGroup-C7yi3DD-.js +1 -0
  415. package/frontend/build/assets/toolGroup-Cl_28ogB.js +1 -0
  416. package/frontend/build/assets/toolGroup-CvTMJceG.js +1 -0
  417. package/frontend/build/assets/toolGroup-DIZrVG-u.js +1 -0
  418. package/frontend/build/assets/toolGroup-YtViuyrx.js +1 -0
  419. package/frontend/build/assets/tools-BWpxaWcy.js +1 -0
  420. package/frontend/build/assets/tools-CivF5Y63.js +1 -0
  421. package/frontend/build/assets/tools-ClM2lWje.js +1 -0
  422. package/frontend/build/assets/tools-DlNqOoYG.js +1 -0
  423. package/frontend/build/assets/tools-DrffVcid.js +1 -0
  424. package/frontend/build/assets/tools-VKwjF6eb.js +1 -0
  425. package/frontend/build/favicon.jpg +0 -0
  426. package/frontend/build/index.html +537 -0
  427. package/package.json +71 -0
@@ -0,0 +1,1579 @@
1
+ import { AsyncLocalStorage } from "async_hooks";
2
+ import EventEmitter from "node:events";
3
+ import { Server } from "node:http";
4
+ import { SafetySetting } from "@google/genai";
5
+ import { Application } from "express";
6
+ import { Job } from "@karinjs/node-schedule";
7
+
8
+ //#region src/types/models.d.ts
9
+ type Feature = 'chat' | 'visual' | 'tool' | 'embedding';
10
+ /**
11
+ * other roles like developer or function should be handled by different implementations
12
+ */
13
+ type Role = 'system' | 'user' | 'assistant' | 'tool' | 'developer';
14
+ interface MessageContent {
15
+ type: 'text' | 'image' | 'audio' | 'video' | 'tool' | 'reasoning';
16
+ thoughtSignature?: string;
17
+ }
18
+ interface TextContent extends MessageContent {
19
+ type: 'text';
20
+ /**
21
+ * Content of text
22
+ */
23
+ text: string;
24
+ }
25
+ interface ReasoningContent extends MessageContent {
26
+ type: 'reasoning';
27
+ /**
28
+ * thinking text
29
+ */
30
+ text: string;
31
+ }
32
+ interface ImageContent extends MessageContent {
33
+ type: 'image';
34
+ /**
35
+ * Either a URL of the image or the base64 encoded image data
36
+ */
37
+ image: string;
38
+ mimeType?: string;
39
+ }
40
+ interface AudioContent extends MessageContent {
41
+ type: 'audio';
42
+ /**
43
+ * Base64 encoded audio data
44
+ */
45
+ data: string;
46
+ format: 'mp3' | 'wav';
47
+ }
48
+ type History = {
49
+ id: string;
50
+ parentId: string | null;
51
+ };
52
+ interface IMessage {
53
+ role: Role;
54
+ content: MessageContent[];
55
+ toolCalls?: ToolCall[];
56
+ }
57
+ /**
58
+ * 模型返回的工具调用,role是assistant
59
+ */
60
+ interface ToolCall {
61
+ id: string;
62
+ type: 'function';
63
+ function: FunctionCall;
64
+ thoughtSignature?: string;
65
+ }
66
+ type ArgumentValue = string | number | boolean | ArgumentValue[];
67
+ type FunctionCall = {
68
+ name: string;
69
+ /**
70
+ * raw可能是JSON字符串,需要反序列化一次
71
+ */
72
+ arguments: Record<string, ArgumentValue | Record<string, ArgumentValue>>;
73
+ };
74
+ /**
75
+ * 用户发送的消息,可能有文本和多模态消息
76
+ */
77
+ interface UserMessage extends IMessage {
78
+ role: 'user';
79
+ content: Array<TextContent | ImageContent | AudioContent>;
80
+ }
81
+ interface SystemMessage extends IMessage {
82
+ role: 'system';
83
+ content: TextContent[];
84
+ }
85
+ interface DeveloperMessage extends IMessage {
86
+ role: 'developer';
87
+ content: TextContent[];
88
+ }
89
+ /**
90
+ * 模型返回的消息,包括文本以及可能的工具调用
91
+ */
92
+ interface AssistantMessage extends IMessage {
93
+ role: 'assistant';
94
+ content: Array<MessageContent>;
95
+ toolCalls?: ToolCall[];
96
+ }
97
+ interface ReasoningPart {
98
+ reasoning_content?: string;
99
+ reasoning?: string;
100
+ thinking_content?: string;
101
+ thinking?: string;
102
+ think?: string;
103
+ }
104
+ /**
105
+ * 客户端执行工具调用的函数结果
106
+ */
107
+ interface ToolCallResultMessage extends IMessage {
108
+ role: 'tool';
109
+ content: ToolCallResult[];
110
+ }
111
+ interface ToolCallResult extends MessageContent {
112
+ type: 'tool';
113
+ tool_call_id?: string;
114
+ content: string;
115
+ name?: string;
116
+ }
117
+ type HistoryMessage = History & IMessage;
118
+ interface ModelResponse {
119
+ id?: string;
120
+ model?: string;
121
+ contents: MessageContent[];
122
+ usage?: ModelUsage;
123
+ }
124
+ interface ModelUsage {
125
+ promptTokens?: number;
126
+ completionTokens?: number;
127
+ totalTokens?: number;
128
+ cachedTokens?: number;
129
+ reasoningTokens?: number;
130
+ }
131
+ interface ModelResponseChunk {
132
+ id?: string;
133
+ model?: string;
134
+ delta: MessageContent[];
135
+ toolCall?: ToolCall[];
136
+ }
137
+ interface EmbeddingResult {
138
+ embeddings: Array<number>[];
139
+ }
140
+ //#endregion
141
+ //#region src/types/cloud.d.ts
142
+ interface CloudAPIResponse<T> {
143
+ code: number;
144
+ data: T;
145
+ msg: string;
146
+ }
147
+ interface PaginationResult<T> {
148
+ items: T[];
149
+ pagination: {
150
+ currentPage: number;
151
+ pageSize: number;
152
+ totalItems: number;
153
+ totalPages: number;
154
+ hasNextPage: boolean;
155
+ hasPreviousPage: boolean;
156
+ };
157
+ type: string;
158
+ }
159
+ interface CloudSharingService<T extends AbstractShareable<unknown>> {
160
+ setUser(user: User): void;
161
+ getUser(): User | null;
162
+ authenticate(apiKey: string): Promise<User | null>;
163
+ upload(model: Serializable): Promise<T | null>;
164
+ download(shareId: string): Promise<T | null>;
165
+ initializeTransfer(model: Serializable): Promise<string | null>;
166
+ list(filter: Filter, query: string, searchOption: SearchOption): Promise<PaginationResult<T>>;
167
+ delete(shareId: string): Promise<boolean>;
168
+ }
169
+ type FilterValue = string | number | boolean | FilterValue[];
170
+ type Filter = Record<string, FilterValue | Record<string, FilterValue>>;
171
+ interface SearchOption {
172
+ searchFields?: string[];
173
+ page?: number;
174
+ pageSize?: number;
175
+ }
176
+ interface User {
177
+ username: string;
178
+ user_id: string | number;
179
+ api_key?: string;
180
+ github?: string;
181
+ email?: string;
182
+ google?: string;
183
+ linux_do?: string;
184
+ apple?: string;
185
+ microsoft?: string;
186
+ }
187
+ interface Serializable {
188
+ toString(): string;
189
+ }
190
+ interface DeSerializable<T> {
191
+ fromString(str: string): T;
192
+ }
193
+ interface CloudModel {
194
+ modelType: 'settings' | 'executable';
195
+ code?: string;
196
+ name: string;
197
+ id: string;
198
+ cloudId?: string;
199
+ embedded: boolean;
200
+ description: string;
201
+ uploader: User;
202
+ updatedAt: string;
203
+ createdAt: string;
204
+ md5: string;
205
+ toFormatedString(verbose?: boolean): string;
206
+ }
207
+ type Shareable<T> = Serializable & DeSerializable<T> & CloudModel;
208
+ declare abstract class AbstractShareable<T> implements Shareable<T> {
209
+ constructor(params?: Partial<AbstractShareable<T>>);
210
+ modelType: 'settings' | 'executable';
211
+ code?: string;
212
+ createdAt: string;
213
+ description: string;
214
+ embedded: boolean;
215
+ id: string;
216
+ cloudId?: string;
217
+ name: string;
218
+ uploader: User;
219
+ updatedAt: string;
220
+ fromString(str: string): T;
221
+ toString(): string;
222
+ toFormatedString(verbose?: boolean): string;
223
+ md5: string;
224
+ }
225
+ interface Wait {
226
+ ready(): Promise<void>;
227
+ }
228
+ //#endregion
229
+ //#region src/types/processors.d.ts
230
+ declare class ProcessorDTO extends AbstractShareable<ProcessorDTO> {
231
+ constructor(params: Partial<ProcessorDTO>);
232
+ type: 'pre' | 'post';
233
+ fromString(str: string): ProcessorDTO;
234
+ toFormatedString(_verbose?: boolean): string;
235
+ }
236
+ interface Processor {
237
+ type: 'pre' | 'post';
238
+ name: string;
239
+ }
240
+ /**
241
+ * 继承这个来实现一个前处理器
242
+ */
243
+ declare abstract class PreProcessor implements Processor {
244
+ type: 'pre';
245
+ abstract process(message: UserMessage): Promise<UserMessage>;
246
+ name: string;
247
+ id: string;
248
+ }
249
+ /**
250
+ * 继承这个来实现一个后处理器
251
+ */
252
+ declare abstract class PostProcessor implements Processor {
253
+ type: 'post';
254
+ abstract process(message: AssistantMessage): Promise<AssistantMessage>;
255
+ name: string;
256
+ id: string;
257
+ }
258
+ //#endregion
259
+ //#region src/types/adapter.d.ts
260
+ interface ToolCallLimitConfig {
261
+ maxConsecutiveCalls?: number;
262
+ maxConsecutiveIdenticalCalls?: number;
263
+ }
264
+ declare class SendMessageOption implements Serializable, DeSerializable<SendMessageOption> {
265
+ constructor(option: Partial<SendMessageOption>);
266
+ static create(options?: SendMessageOption | Partial<SendMessageOption>): SendMessageOption;
267
+ model?: string;
268
+ temperature?: number;
269
+ maxToken?: number;
270
+ /**
271
+ * 将系统提示词覆盖
272
+ */
273
+ systemOverride?: string;
274
+ /**
275
+ * 本轮对话禁用历史
276
+ */
277
+ disableHistoryRead?: boolean;
278
+ /**
279
+ * 禁用本轮对话存储到历史
280
+ */
281
+ disableHistorySave?: boolean;
282
+ /**
283
+ * 对话ID。如果不传则默认为第一次对话
284
+ */
285
+ conversationId?: string;
286
+ /**
287
+ * 上一条消息的ID,如果不传则默认为第一次对话
288
+ */
289
+ parentMessageId?: string;
290
+ /**
291
+ * 流模式
292
+ */
293
+ stream?: boolean;
294
+ /**
295
+ * 是否是思考模型
296
+ */
297
+ isThinkingModel?: boolean;
298
+ enableReasoning?: boolean;
299
+ reasoningEffort?: 'high' | 'medium' | 'low' | 'minimal';
300
+ reasoningBudgetTokens?: number;
301
+ toolChoice?: ToolChoice;
302
+ postProcessorIds?: string[];
303
+ preProcessorIds?: string[];
304
+ toolGroupId?: string[];
305
+ responseModalities?: string[];
306
+ safetySettings?: SafetySetting[];
307
+ toolCallLimit?: ToolCallLimitConfig;
308
+ _consecutiveToolCallCount?: number;
309
+ _consecutiveIdenticalToolCallCount?: number;
310
+ _lastToolCallSignature?: string;
311
+ /**
312
+ * 流模式的回调
313
+ * @param chunk
314
+ */
315
+ onChunk?(chunk: ModelResponseChunk): Promise<void>;
316
+ /**
317
+ * 工具调用轮次,如果有其他非tool_call类消息会被丢弃最后不会返回,但是可以通过onMessageWithToolCall来处理
318
+ * @param message
319
+ */
320
+ onMessageWithToolCall?(message: MessageContent): Promise<void>;
321
+ fromString(str: string): SendMessageOption;
322
+ toString(): string;
323
+ }
324
+ interface ToolChoice {
325
+ type: 'none' | 'any' | 'auto' | 'specified';
326
+ tools?: string[];
327
+ }
328
+ interface EmbeddingOption {
329
+ model: string;
330
+ dimensions?: number;
331
+ }
332
+ type ClientType = 'openai' | 'gemini' | 'claude';
333
+ interface IClient {
334
+ name: ClientType;
335
+ features: Feature[];
336
+ tools: Tool[];
337
+ baseUrl: string;
338
+ apiKey: string | string[];
339
+ multipleKeyStrategy: MultipleKeyStrategy;
340
+ historyManager: HistoryManager;
341
+ postProcessors?: PostProcessor[];
342
+ preProcessors?: PreProcessor[];
343
+ sendMessage(message: UserMessage | undefined, options?: SendMessageOption | Partial<SendMessageOption>): Promise<ModelResponse>;
344
+ sendMessageWithHistory(history: IMessage[], options?: SendMessageOption | Partial<SendMessageOption>): Promise<IMessage & {
345
+ usage: ModelUsage;
346
+ }>;
347
+ getEmbedding(text: string | string[], options: EmbeddingOption): Promise<EmbeddingResult>;
348
+ logger: ILogger;
349
+ }
350
+ interface HistoryManager {
351
+ name: string;
352
+ saveHistory(message: HistoryMessage, conversationId: string): Promise<void>;
353
+ getHistory(messageId?: string, conversationId?: string): Promise<HistoryMessage[]>;
354
+ deleteConversation(conversationId: string): Promise<void>;
355
+ getOneHistory(messageId: string, conversationId: string): Promise<HistoryMessage | undefined>;
356
+ }
357
+ declare abstract class AbstractHistoryManager implements HistoryManager {
358
+ name: string;
359
+ abstract saveHistory(message: HistoryMessage, conversationId: string): Promise<void>;
360
+ abstract getHistory(messageId?: string, conversationId?: string): Promise<HistoryMessage[]>;
361
+ abstract deleteConversation(conversationId: string): Promise<void>;
362
+ abstract getOneHistory(messageId: string, conversationId: string): Promise<HistoryMessage | undefined>;
363
+ }
364
+ //#endregion
365
+ //#region src/channels/channels.d.ts
366
+ declare class DefaultChannelLoadBalancer implements ChannelsLoadBalancer {
367
+ constructor();
368
+ getChannel(name: string, channels: Channel[]): Promise<Channel>;
369
+ private groupByPriority;
370
+ private selectByWeight;
371
+ /**
372
+ * 获取渠道列表及其分配的数量
373
+ * generated by qwen-2.5-max
374
+ *
375
+ * @param modelName 模型名称
376
+ * @param channels 渠道列表
377
+ * @param totalQuantity 总数量
378
+ * @returns 返回一个包含渠道及其分配数量的数组
379
+ */
380
+ getChannels(modelName: string, channels: Channel[], totalQuantity: number): Promise<{
381
+ channel: Channel;
382
+ quantity: number;
383
+ }[]>;
384
+ }
385
+ /**
386
+ * 渠道
387
+ * 每个渠道对应一个adapter,并记录客户端的options
388
+ */
389
+ declare class Channel extends AbstractShareable<Channel> implements Wait {
390
+ constructor(params: Partial<Channel>);
391
+ init(): Promise<void>;
392
+ ready(): Promise<void>;
393
+ adapterType: ClientType;
394
+ options: BaseClientOptions;
395
+ models: string[];
396
+ type: ClientType;
397
+ weight: number;
398
+ priority: number;
399
+ status: 'enabled' | 'disabled';
400
+ disabledReason?: string;
401
+ statistics: ChannelStatistics;
402
+ fromString(str: string): Channel;
403
+ toString(): string;
404
+ toFormatedString(verbose?: boolean): string;
405
+ }
406
+ //#endregion
407
+ //#region src/channels/preset.d.ts
408
+ /**
409
+ * 对话模式预设,最终使用的
410
+ */
411
+ declare class ChatPreset extends AbstractShareable<ChatPreset> {
412
+ constructor(params?: Partial<ChatPreset>);
413
+ prefix: string;
414
+ local: boolean;
415
+ namespace?: string;
416
+ sendMessageOption: SendMessageOption;
417
+ /**
418
+ * 携带群聊上下文
419
+ */
420
+ groupContext?: 'disable' | 'enabled' | 'use_system';
421
+ /**
422
+ * 禁止系统prompt
423
+ */
424
+ disableSystemInstructions?: boolean;
425
+ toString(): string;
426
+ fromString(str: string): ChatPreset;
427
+ toFormatedString(verbose?: boolean): string;
428
+ }
429
+ //#endregion
430
+ //#region src/types/external.d.ts
431
+ interface EventMessage {
432
+ sender: {
433
+ user_id: string;
434
+ nickname?: string;
435
+ card?: string;
436
+ };
437
+ group: {
438
+ group_id: number;
439
+ };
440
+ }
441
+ interface UserModeSelector {
442
+ getChatPreset(e: EventMessage): Promise<ChatPreset>;
443
+ }
444
+ declare abstract class AbstractUserModeSelector implements UserModeSelector {
445
+ abstract getChatPreset(e: EventMessage): Promise<ChatPreset>;
446
+ }
447
+ //#endregion
448
+ //#region src/adapters/clients.d.ts
449
+ declare class AbstractClient implements IClient {
450
+ options: BaseClientOptions;
451
+ constructor(options: BaseClientOptions | Partial<BaseClientOptions>, context?: ChaiteContext);
452
+ fullfillProcessors(preIds?: string[], postIds?: string[]): Promise<{
453
+ pre: PreProcessor[];
454
+ post: PostProcessor[];
455
+ }>;
456
+ fullfillTools(toolGroupIds?: string[]): Promise<Tool[]>;
457
+ sendMessage(message: UserMessage | undefined, options: SendMessageOption | Partial<SendMessageOption>): Promise<ModelResponse>;
458
+ protected shouldPersistHistory(message?: HistoryMessage): boolean;
459
+ protected isEffectivelyEmptyMessage(message?: IMessage): boolean;
460
+ private hasMeaningfulContent;
461
+ private isMessagePartMeaningful;
462
+ protected setToolCallLimitConfig(config?: ToolCallLimitConfig): void;
463
+ private getEffectiveToolCallLimit;
464
+ private updateToolCallTracking;
465
+ private resetToolCallTracking;
466
+ private buildToolCallSignature;
467
+ _sendMessage(_histories: IMessage[], _apiKey: string, _options: SendMessageOption): Promise<HistoryMessage & {
468
+ usage: ModelUsage;
469
+ }>;
470
+ sendMessageWithHistory(history: IMessage[], options?: SendMessageOption | Partial<SendMessageOption>): Promise<IMessage & {
471
+ usage: ModelUsage;
472
+ }>;
473
+ apiKey: string | string[];
474
+ baseUrl: string;
475
+ features: Feature[];
476
+ multipleKeyStrategy: MultipleKeyStrategy;
477
+ name: ClientType;
478
+ tools: Tool[];
479
+ logger: ILogger;
480
+ historyManager: HistoryManager;
481
+ context: ChaiteContext;
482
+ postProcessors?: PostProcessor[];
483
+ preProcessors?: PreProcessor[];
484
+ protected toolCallLimitConfig?: ToolCallLimitConfig;
485
+ getEmbedding(_text: string | string[], _options: EmbeddingOption): Promise<EmbeddingResult>;
486
+ }
487
+ //#endregion
488
+ //#region src/adapters/create.d.ts
489
+ declare function createClient(name: ClientType, options: BaseClientOptions | Partial<BaseClientOptions>, context?: ChaiteContext): IClient;
490
+ //#endregion
491
+ //#region src/adapters/impl/openai/OpenAIClient.d.ts
492
+ type OpenAIClientOptions = BaseClientOptions;
493
+ declare class OpenAIClient extends AbstractClient {
494
+ constructor(options: OpenAIClientOptions | Partial<OpenAIClientOptions>, context?: ChaiteContext);
495
+ _sendMessage(histories: IMessage[], apiKey: string, options: SendMessageOption): Promise<HistoryMessage & {
496
+ usage: ModelUsage;
497
+ }>;
498
+ getEmbedding(text: string | string[], options: EmbeddingOption): Promise<EmbeddingResult>;
499
+ }
500
+ //#endregion
501
+ //#region src/adapters/impl/gemini/GeminiClient.d.ts
502
+ type GeminiClientOptions = BaseClientOptions & {
503
+ toolCallLimit?: ToolCallLimitConfig;
504
+ };
505
+ declare class GeminiClient extends AbstractClient {
506
+ constructor(options: GeminiClientOptions | Partial<GeminiClientOptions>, context?: ChaiteContext);
507
+ /**
508
+ * 将 reasoningEffort 映射为 thinkingLevel
509
+ * 所有 Gemini 模型统一使用 thinkingLevel(不再区分 2.5/3 系列)
510
+ */
511
+ private resolveThinkingLevel;
512
+ _sendMessage(histories: IMessage[], apiKey: string, options: SendMessageOption): Promise<HistoryMessage & {
513
+ usage: ModelUsage;
514
+ }>;
515
+ getEmbedding(text: string | string[], options: EmbeddingOption): Promise<EmbeddingResult>;
516
+ }
517
+ //#endregion
518
+ //#region src/adapters/impl/claude/ClaudeClient.d.ts
519
+ declare class ClaudeClient extends AbstractClient {
520
+ constructor(options: GeminiClientOptions | Partial<GeminiClientOptions>, context?: ChaiteContext);
521
+ _sendMessage(histories: IMessage[], apiKey: string, options: SendMessageOption): Promise<HistoryMessage & {
522
+ usage: ModelUsage;
523
+ }>;
524
+ }
525
+ //#endregion
526
+ //#region src/share/shareable.d.ts
527
+ type ExecutableSShareableType = 'tool' | 'processor';
528
+ /**
529
+ * T是DTO
530
+ * C是T对应的可执行的实例类型
531
+ * @interface ExecutableShareableManager
532
+ */
533
+ declare abstract class ExecutableShareableManager<T extends Shareable<T>, C> {
534
+ private type;
535
+ private storage;
536
+ private watcher;
537
+ /**
538
+ * 存储示例名称和文件名的映射
539
+ * @private
540
+ */
541
+ protected instanceMap: Map<string, string>;
542
+ /**
543
+ * codeDirectory是存放实际代码的目录
544
+ * @private
545
+ */
546
+ protected codeDirectory: string;
547
+ /** @deprecated unused in local-only mode */
548
+ cloudService?: unknown;
549
+ protected constructor(type: ExecutableSShareableType, codeDirectory: string, storage: BasicStorage<T>);
550
+ /** @deprecated no-op in local-only mode */
551
+ setCloudService(_cloudService: unknown): void;
552
+ /**
553
+ * 只有可执行类型的实例才需要,如工具、处理器等。设置类不需要
554
+ * @private
555
+ */
556
+ initialize(): Promise<void>;
557
+ private setupFileWatcher;
558
+ private scanInstances;
559
+ /**
560
+ * 返回实例名字们
561
+ * @returns 实例名字列表
562
+ */
563
+ listInstanceNames(): Promise<string[]>;
564
+ listInstances(): Promise<T[]>;
565
+ getInstanceT(id: string): Promise<T | null>;
566
+ /**
567
+ * 获取实例对象而非Shareable DTO
568
+ * @param name
569
+ */
570
+ getInstance(name: string): Promise<C | undefined>;
571
+ /**
572
+ * 新增或更新
573
+ * 有id就是更新,靠storage实现去控制,这里不管
574
+ * @param instance
575
+ * @return id
576
+ */
577
+ addInstance(instance: T): Promise<string>;
578
+ addInstanceCode(name: string, code: string): Promise<void>;
579
+ upsertInstanceT(t: T): Promise<string>;
580
+ getInstanceTByCloudId(cloudId: string): Promise<T[]>;
581
+ renameFile(id: string, oldName: string, newName: string): Promise<void>;
582
+ deleteInstance(id: string): Promise<void>;
583
+ /**
584
+ * 序列化实例,返回DTO
585
+ * @param name
586
+ */
587
+ abstract serializeInstance(name: string): Promise<T | null>;
588
+ shareToCloud(_id: string): Promise<string | undefined>;
589
+ listFromCloud(_filter: unknown, _query: string, _searchOption: unknown): Promise<never>;
590
+ getFromCloud(_shareId: string): Promise<T | null>;
591
+ shareP2P(_name: string): Promise<string | null>;
592
+ dispose(): Promise<void>;
593
+ }
594
+ type NonExecutableSShareableType = 'chat-preset' | 'tool-settings' | 'channel' | 'tools-group';
595
+ declare abstract class NonExecutableShareableManager<T extends Shareable<T>> {
596
+ protected type: NonExecutableSShareableType;
597
+ protected storage: BasicStorage<T>;
598
+ /** @deprecated unused in local-only mode */
599
+ cloudService?: unknown;
600
+ protected constructor(type: NonExecutableSShareableType, storage: BasicStorage<T>);
601
+ /** @deprecated no-op in local-only mode */
602
+ setCloudService(_cloudService: unknown): void;
603
+ addInstance(instance: T): Promise<string>;
604
+ deleteInstance(key: string): Promise<void>;
605
+ listInstances(): Promise<T[]>;
606
+ getInstance(key: string): Promise<T | null>;
607
+ upsertInstance(t: T): Promise<string>;
608
+ getInstanceByCloudId(cloudId: string): Promise<T[]>;
609
+ shareToCloud(_key: string): Promise<string | undefined>;
610
+ shareP2P(_key: string): Promise<string | null>;
611
+ getFromCloud(_shareId: string): Promise<T | null>;
612
+ listFromCloud(_filter: unknown, _query: string, _searchOption: unknown): Promise<never>;
613
+ deleteFromCloud(_key: string): Promise<void>;
614
+ }
615
+ //#endregion
616
+ //#region src/share/tool.d.ts
617
+ declare class ToolManager extends ExecutableShareableManager<ToolDTO, Tool> {
618
+ private static instance;
619
+ private constructor();
620
+ static init(toolsDirectory: string, storage: BasicStorage<ToolDTO>): Promise<ToolManager>;
621
+ static getInstance(): Promise<ToolManager | null>;
622
+ serializeInstance(name: string): Promise<ToolDTO | null>;
623
+ }
624
+ //#endregion
625
+ //#region src/share/cloud.d.ts
626
+ /**
627
+ * Cloud service stub — kept only to satisfy the CloudSharingService interface
628
+ * used by shareable.ts base classes. No-op implementation.
629
+ */
630
+ declare class DefaultCloudService<T> {
631
+ constructor(_cloudApiBaseUrl: string, _type: string);
632
+ }
633
+ //#endregion
634
+ //#region src/share/channels.d.ts
635
+ declare class ChannelsManager extends NonExecutableShareableManager<Channel> {
636
+ protected storage: BasicStorage<Channel>;
637
+ private loadBalancer;
638
+ private static instance;
639
+ private constructor();
640
+ static init(storage: BasicStorage<Channel>, loadBalancer: ChannelsLoadBalancer): Promise<ChannelsManager>;
641
+ static getInstance(): Promise<ChannelsManager | null>;
642
+ getAllChannels(name?: string): Promise<Channel[]>;
643
+ getChannelByType(type: Channel['type']): Promise<Channel[]>;
644
+ getChannelByStatus(status: 'enabled' | 'disabled'): Promise<Channel[]>;
645
+ getChannelByModel(model: string): Promise<Channel[]>;
646
+ getChannelsByModel(model: string, totalQuantity: number): Promise<{
647
+ channel: Channel;
648
+ quantity: number;
649
+ }[]>;
650
+ }
651
+ //#endregion
652
+ //#region src/share/processors.d.ts
653
+ declare class ProcessorsManager extends ExecutableShareableManager<ProcessorDTO, Processor> {
654
+ private static instance;
655
+ private constructor();
656
+ static init(processorsDirectory: string, storage: BasicStorage<ProcessorDTO>): Promise<ProcessorsManager>;
657
+ static getInstance(): Promise<ProcessorsManager | null>;
658
+ serializeInstance(name: string): Promise<ProcessorDTO | null>;
659
+ }
660
+ //#endregion
661
+ //#region src/share/preset.d.ts
662
+ declare class ChatPresetManager extends NonExecutableShareableManager<ChatPreset> {
663
+ protected storage: BasicStorage<ChatPreset>;
664
+ private static instance;
665
+ private constructor();
666
+ static init(storage: BasicStorage<ChatPreset>): Promise<ChatPresetManager>;
667
+ static getInstance(): Promise<ChatPresetManager | null>;
668
+ getAllPresets(options?: {
669
+ includeLocal?: boolean;
670
+ namespace?: string;
671
+ }): Promise<ChatPreset[]>;
672
+ getPresetByPrefix(prefix: string): Promise<ChatPreset | null>;
673
+ }
674
+ //#endregion
675
+ //#region src/share/tools_group.d.ts
676
+ declare class ToolsGroupManager extends NonExecutableShareableManager<ToolsGroupDTO> {
677
+ private static instance;
678
+ private constructor();
679
+ static init(storage: BasicStorage<ToolsGroupDTO>): Promise<ToolsGroupManager>;
680
+ static getInstance(): Promise<ToolsGroupManager | null>;
681
+ }
682
+ //#endregion
683
+ //#region src/share/trigger.d.ts
684
+ /**
685
+ * 专门用于管理触发器的管理器
686
+ * 由于触发器需要注册并保持状态运行,因此管理方式不同于普通的可执行代码
687
+ */
688
+ declare class TriggerManager<T extends TriggerDTO> {
689
+ private storage;
690
+ /**
691
+ * 存储触发器名称到 DTO ID 的映射
692
+ * 这样通过实例的 name 就可以找到对应的 DTO id
693
+ */
694
+ protected nameToIdMap: Map<string, string>;
695
+ private watcher;
696
+ /**
697
+ * 存储示例名称和文件名的映射
698
+ */
699
+ protected instanceMap: Map<string, string>;
700
+ /**
701
+ * 已注册的触发器实例
702
+ */
703
+ protected activeInstances: Map<string, Trigger>;
704
+ /**
705
+ * 全局上下文,用于传递给触发器
706
+ */
707
+ protected context: ChaiteContext;
708
+ /**
709
+ * codeDirectory是存放实际代码的目录
710
+ */
711
+ protected codeDirectory: string;
712
+ /** @deprecated unused in local-only mode */
713
+ cloudService?: unknown;
714
+ constructor(codeDirectory: string, storage: BasicStorage<T>);
715
+ /** @deprecated no-op in local-only mode */
716
+ setCloudService(_cloudService: unknown): void;
717
+ /**
718
+ * 初始化管理器,加载所有触发器并注册
719
+ */
720
+ initialize(): Promise<void>;
721
+ /**
722
+ * 设置文件监听器,监控触发器文件的变化
723
+ */
724
+ private setupFileWatcher;
725
+ /**
726
+ * 扫描触发器实例
727
+ */
728
+ private scanInstances;
729
+ /**
730
+ * 注册所有启用状态的触发器
731
+ */
732
+ private registerAllEnabledTriggers;
733
+ /**
734
+ * 注册单个触发器
735
+ */
736
+ registerTrigger(dtoName: string): Promise<void>;
737
+ /**
738
+ * 通过触发器实例的 name 删除触发器
739
+ * 注意:这里的 name 是触发器实例的 name,而不是 DTO 中的 name
740
+ */
741
+ deleteInstanceByName(triggerName: string): Promise<void>;
742
+ /**
743
+ * 取消注册触发器
744
+ */
745
+ unregisterTrigger(name: string): Promise<void>;
746
+ /**
747
+ * 返回实例名字们
748
+ */
749
+ listInstanceNames(): Promise<string[]>;
750
+ /**
751
+ * 获取所有触发器DTO
752
+ */
753
+ listInstances(): Promise<T[]>;
754
+ /**
755
+ * 获取触发器DTO
756
+ */
757
+ getInstanceT(id: string): Promise<T | null>;
758
+ /**
759
+ * 通过名称获取触发器DTO
760
+ */
761
+ getInstanceTByName(name: string): Promise<T | null>;
762
+ /**
763
+ * 获取触发器实例对象
764
+ */
765
+ getInstance(name: string): Promise<Trigger | undefined>;
766
+ /**
767
+ * 新增或更新触发器
768
+ */
769
+ addInstance(instance: T): Promise<string>;
770
+ /**
771
+ * 添加触发器代码
772
+ */
773
+ addInstanceCode(name: string, code: string): Promise<void>;
774
+ /**
775
+ * 更新或新增触发器
776
+ */
777
+ upsertInstanceT(t: T): Promise<string>;
778
+ /**
779
+ * 通过云ID获取触发器
780
+ */
781
+ getInstanceTByCloudId(cloudId: string): Promise<T[]>;
782
+ /**
783
+ * 重命名触发器文件
784
+ */
785
+ renameFile(id: string, oldName: string, newName: string): Promise<void>;
786
+ /**
787
+ * 删除触发器
788
+ */
789
+ deleteInstance(id: string): Promise<void>;
790
+ /**
791
+ * 更新上下文
792
+ */
793
+ updateContext(context: ChaiteContext): void;
794
+ /**
795
+ * 序列化触发器,返回DTO
796
+ */
797
+ serializeInstance(name: string): Promise<T | null>;
798
+ shareToCloud(_id: string): Promise<string | undefined>;
799
+ listFromCloud(_filter: unknown, _query: string, _searchOption: unknown): Promise<never>;
800
+ getFromCloud(_shareId: string): Promise<T | null>;
801
+ shareP2P(_name: string): Promise<string | null>;
802
+ /**
803
+ * 清理资源,关闭文件监听器
804
+ */
805
+ dispose(): Promise<void>;
806
+ /**
807
+ * 启用触发器
808
+ */
809
+ enableTrigger(id: string): Promise<void>;
810
+ /**
811
+ * 禁用触发器
812
+ */
813
+ disableTrigger(id: string): Promise<void>;
814
+ /**
815
+ * 检查触发器是否正在运行
816
+ */
817
+ isRunning(name: string): boolean;
818
+ /**
819
+ * 获取当前运行中的所有触发器
820
+ */
821
+ getRunningTriggers(): string[];
822
+ }
823
+ //#endregion
824
+ //#region src/utils/helpers.d.ts
825
+ declare function getKey(apiKeys: string[] | string, strategy: MultipleKeyStrategy): Promise<string>;
826
+ declare const asyncLocalStorage: AsyncLocalStorage<ChaiteContext>;
827
+ declare function useEvent(): Promise<EventMessage | undefined>;
828
+ /**
829
+ * 表示构造函数的类型
830
+ */
831
+ type AbstractConstructor<T> = abstract new (...args: unknown[]) => T;
832
+ /**
833
+ * 将JS代码保存到指定目录并导入其默认导出
834
+ *
835
+ * @param {string} jsContent - JS代码内容
836
+ * @param {string} modulesDir - 保存模块的目录
837
+ * @param {string} fileName - 文件名(不含路径)
838
+ * @param {Function} AbstractClass - 抽象类,用于检查实例是否继承自它
839
+ * @returns {Promise<T | null>} 如果默认导出继承自AbstractClass则返回该实例,否则返回null
840
+ */
841
+ declare function saveAndLoadModule<T>(jsContent: string, modulesDir: string, fileName: string, AbstractClass: AbstractConstructor<T>): Promise<T | null>;
842
+ /**
843
+ * 解析 JavaScript 代码中的 class 变量 name 的值
844
+ * @param {string} code - 输入的 JavaScript 代码
845
+ * @returns {string|null} - 解析出的 class 的 name 值,或者 null 如果没有找到
846
+ */
847
+ declare function extractClassName(code: string): string | null;
848
+ //#endregion
849
+ //#region src/utils/kv_history.d.ts
850
+ interface KVStore {
851
+ get(key: string): Promise<string>;
852
+ set(key: string, value: string): Promise<void>;
853
+ delete(key: string): Promise<void>;
854
+ }
855
+ declare class KVHistoryManager implements HistoryManager {
856
+ private kvStore;
857
+ name: string;
858
+ constructor(kvStore: KVStore, name: string);
859
+ private getConversationKey;
860
+ private getMessageKey;
861
+ saveHistory(message: HistoryMessage, conversationId: string): Promise<void>;
862
+ getHistory(messageId?: string, conversationId?: string): Promise<HistoryMessage[]>;
863
+ deleteConversation(conversationId: string): Promise<void>;
864
+ getOneHistory(messageId: string, conversationId: string): Promise<HistoryMessage | undefined>;
865
+ }
866
+ //#endregion
867
+ //#region src/utils/history.d.ts
868
+ type HistoryCache = Map<string, Map<string, HistoryMessage>>;
869
+ declare class InMemoryHistoryManager extends AbstractHistoryManager {
870
+ cache: HistoryCache;
871
+ constructor();
872
+ saveHistory(message: HistoryMessage, conversationId: string): Promise<void>;
873
+ getHistory(messageId?: string, conversationId?: string): Promise<HistoryMessage[]>;
874
+ deleteConversation(conversationId: string): Promise<void>;
875
+ getOneHistory(messageId: string, conversationId: string): Promise<HistoryMessage | undefined>;
876
+ name: string;
877
+ }
878
+ //#endregion
879
+ //#region src/utils/config.d.ts
880
+ declare const DEFAULT_HOST = "127.0.0.1";
881
+ declare const DEFAULT_PORT = 48370;
882
+ declare class GlobalConfig extends EventEmitter {
883
+ /**
884
+ * JWT signing secret (used for JWT verification in middleware)
885
+ */
886
+ private authKey;
887
+ /**
888
+ * Listen host
889
+ */
890
+ private host;
891
+ /**
892
+ * Listen port
893
+ */
894
+ private port;
895
+ /**
896
+ * Debug mode
897
+ */
898
+ private debug;
899
+ /**
900
+ * Login validity period in seconds
901
+ */
902
+ private loginValidTime;
903
+ /**
904
+ * Access token — the actual token used for URL-based auth
905
+ */
906
+ private accessToken;
907
+ setAuthKey(key: string): void;
908
+ setHost(host: string): void;
909
+ setPort(port: number): void;
910
+ setDebug(debug: boolean): void;
911
+ setLoginValidTime(time: number): void;
912
+ setAccessToken(token: string): void;
913
+ getAuthKey(): string;
914
+ getHost(): string;
915
+ getPort(): number;
916
+ getDebug(): boolean;
917
+ getLoginValidTime(): number;
918
+ getAccessToken(): string;
919
+ static generateRandomToken(length?: number): string;
920
+ }
921
+ //#endregion
922
+ //#region src/utils/auth.d.ts
923
+ declare class FrontEndAuthHandler {
924
+ private token;
925
+ constructor();
926
+ generateToken(timeout?: number, onetime?: boolean): string;
927
+ validateToken(token: string): boolean;
928
+ /**
929
+ * Generate a static random key for JWT signing (persistent across logins)
930
+ */
931
+ static generateStaticKey(): string;
932
+ /**
933
+ * Generate JWT with configurable expiration
934
+ */
935
+ static generateJWT(key: string, expiresInSec?: number): string;
936
+ static validateJWT(key: string, token: string): boolean;
937
+ }
938
+ //#endregion
939
+ //#region src/utils/logger.d.ts
940
+ declare function getLogger(): ILogger;
941
+ //#endregion
942
+ //#region src/rag/vector.d.ts
943
+ /**
944
+ * generated by claude-3-5-sonnet
945
+ */
946
+ interface VectorDatabase {
947
+ /**
948
+ * 添加单个向量到数据库
949
+ * @param vector - 要添加的向量,表示为数字数组
950
+ * @param text - 与向量关联的文本
951
+ * @returns 返回添加的向量的唯一标识符
952
+ */
953
+ addVector(vector: number[], text: string): Promise<string>;
954
+ /**
955
+ * 批量添加多个向量到数据库
956
+ * @param vectors - 要添加的向量数组,每个向量表示为数字数组
957
+ * @param texts - 与向量关联的文本数组,顺序应与向量数组对应
958
+ * @returns 返回添加的向量的唯一标识符数组
959
+ */
960
+ addVectors(vectors: number[][], texts: string[]): Promise<string[]>;
961
+ /**
962
+ * 搜索与给定查询向量最相似的向量
963
+ * @param queryVector - 查询向量,表示为数字数组
964
+ * @param k - 要返回的最相似向量的数量
965
+ * @returns 返回最相似向量的数组,每个元素包含id、相似度分数和关联文本
966
+ */
967
+ search(queryVector: number[], k: number): Promise<Array<{
968
+ id: string;
969
+ score: number;
970
+ text: string;
971
+ }>>;
972
+ /**
973
+ * 根据ID获取特定的向量
974
+ * @param id - 向量的唯一标识符
975
+ * @returns 返回包含向量和关联文本的对象,如果未找到则返回null
976
+ */
977
+ getVector(id: string): Promise<{
978
+ vector: number[];
979
+ text: string;
980
+ } | null>;
981
+ /**
982
+ * 从数据库中删除指定ID的向量
983
+ * @param id - 要删除的向量的唯一标识符
984
+ * @returns 返回一个布尔值,表示删除操作是否成功
985
+ */
986
+ deleteVector(id: string): Promise<boolean>;
987
+ /**
988
+ * 更新数据库中指定ID的向量
989
+ * @param id - 要更新的向量的唯一标识符
990
+ * @param newVector - 新的向量,表示为数字数组
991
+ * @param newText - 新的关联文本
992
+ * @returns 返回一个布尔值,表示更新操作是否成功
993
+ */
994
+ updateVector(id: string, newVector: number[], newText: string): Promise<boolean>;
995
+ /**
996
+ * 获取数据库中向量的总数
997
+ * @returns 返回数据库中存储的向量总数
998
+ */
999
+ count(): Promise<number>;
1000
+ /**
1001
+ * 清空数据库中的所有向量
1002
+ * @returns 无返回值
1003
+ */
1004
+ clear(): Promise<void>;
1005
+ }
1006
+ declare abstract class AbstractVectorDatabase implements VectorDatabase {
1007
+ abstract addVector(vector: number[], text: string): Promise<string>;
1008
+ abstract addVectors(vectors: number[][], texts: string[]): Promise<string[]>;
1009
+ abstract search(queryVector: number[], k: number): Promise<Array<{
1010
+ id: string;
1011
+ score: number;
1012
+ text: string;
1013
+ }>>;
1014
+ abstract getVector(id: string): Promise<{
1015
+ vector: number[];
1016
+ text: string;
1017
+ } | null>;
1018
+ abstract deleteVector(id: string): Promise<boolean>;
1019
+ abstract clear(): Promise<void>;
1020
+ abstract count(): Promise<number>;
1021
+ abstract updateVector(id: string, newVector: number[], newText: string): Promise<boolean>;
1022
+ }
1023
+ //#endregion
1024
+ //#region src/rag/manager.d.ts
1025
+ declare class RAGManager {
1026
+ private vectorDb;
1027
+ private vectorizer;
1028
+ constructor(vectorDb: VectorDatabase, vectorizer: Vectorizer);
1029
+ /**
1030
+ * 添加文档到 RAG 系统
1031
+ * @param document 文档文本
1032
+ * @param maxNum 最大分割数
1033
+ */
1034
+ addDocument(document: string, maxNum?: number): Promise<void>;
1035
+ /**
1036
+ * 执行 RAG 查询
1037
+ * @param query 查询文本
1038
+ * @param k 返回结果数量
1039
+ * @returns 查询结果
1040
+ */
1041
+ query(query: string, k: number): Promise<RAGResult[]>;
1042
+ /**
1043
+ * 聚合检索出来的结果
1044
+ * @param results 文本形式
1045
+ * @param filterScore 过滤的最低分数
1046
+ */
1047
+ getAggregatedResults(results: RAGResult[], filterScore?: number): string;
1048
+ }
1049
+ //#endregion
1050
+ //#region src/rag/impl/VectorizerImpl.d.ts
1051
+ declare class VectorizerImpl implements Vectorizer {
1052
+ private client;
1053
+ private model;
1054
+ private dimensions;
1055
+ constructor(client: IClient, model: string, dimensions: number);
1056
+ textToVector(text: string): Promise<number[]>;
1057
+ batchTextToVector(texts: string[]): Promise<number[][]>;
1058
+ }
1059
+ //#endregion
1060
+ //#region src/types/document.d.ts
1061
+ type ParserType = 'docx' | 'xlsx' | 'pptx' | 'pdf' | 'txt' | 'other';
1062
+ type TypePredicate<T> = (value: unknown) => value is T;
1063
+ interface Parser<T> {
1064
+ type: ParserType;
1065
+ supportedExtensions: ValidExtension[];
1066
+ isCompatibleType: TypePredicate<T>;
1067
+ parse(document: T): Promise<string>;
1068
+ }
1069
+ type ValidExtension = `.${string}` | string;
1070
+ type FilePath = `${string}${ValidExtension}`;
1071
+ declare class DocumentPathParser implements Parser<FilePath> {
1072
+ isCompatibleType(value: unknown): value is string;
1073
+ supportedExtensions: ValidExtension[];
1074
+ type: ParserType;
1075
+ parse(document: FilePath): Promise<string>;
1076
+ }
1077
+ declare class DocumentFileParser implements Parser<Buffer> {
1078
+ isCompatibleType(value: unknown): value is Buffer;
1079
+ supportedExtensions: ValidExtension[];
1080
+ type: ParserType;
1081
+ parse(document: Buffer): Promise<string>;
1082
+ }
1083
+ //#endregion
1084
+ //#region src/rag/impl/PdfParser.d.ts
1085
+ declare class PdfFileParser extends DocumentPathParser {
1086
+ constructor();
1087
+ private initPromise;
1088
+ valid: boolean;
1089
+ type: ParserType;
1090
+ supportedExtensions: string[];
1091
+ private initializePdfParse;
1092
+ ready(): Promise<void>;
1093
+ parse(documentPath: string): Promise<string>;
1094
+ }
1095
+ declare class PdfBufferParser extends DocumentFileParser {
1096
+ constructor();
1097
+ private initPromise;
1098
+ private initializePdfParse;
1099
+ valid: boolean;
1100
+ type: ParserType;
1101
+ supportedExtensions: string[];
1102
+ ready(): Promise<void>;
1103
+ parse(buffer: Buffer): Promise<string>;
1104
+ }
1105
+ //#endregion
1106
+ //#region src/rag/impl/DocxParser.d.ts
1107
+ declare class DocxFileParser extends DocumentPathParser {
1108
+ constructor();
1109
+ type: ParserType;
1110
+ supportedExtensions: string[];
1111
+ parse(documentPath: string): Promise<string>;
1112
+ }
1113
+ declare class DocxBufferParser extends DocumentFileParser {
1114
+ constructor();
1115
+ type: ParserType;
1116
+ supportedExtensions: string[];
1117
+ parse(buffer: Buffer): Promise<string>;
1118
+ }
1119
+ //#endregion
1120
+ //#region src/rag/impl/PureTextParser.d.ts
1121
+ declare class PureTextFileParser extends DocumentPathParser {
1122
+ constructor();
1123
+ type: ParserType;
1124
+ supportedExtensions: string[];
1125
+ parse(documentPath: string): Promise<string>;
1126
+ }
1127
+ declare class PureTextBufferParser extends DocumentFileParser {
1128
+ constructor();
1129
+ type: ParserType;
1130
+ supportedExtensions: string[];
1131
+ parse(buffer: Buffer): Promise<string>;
1132
+ }
1133
+ //#endregion
1134
+ //#region src/rag/text.d.ts
1135
+ declare class TextProcessor {
1136
+ private static readonly punctuationRegex;
1137
+ private static readonly stopWords;
1138
+ /**
1139
+ * 将文本分割成小段落
1140
+ * @param text 输入的长文本
1141
+ * @param maxLength 每个段落的最大长度
1142
+ * @returns 分割后的段落数组
1143
+ */
1144
+ static splitIntoChunks(text: string, maxLength: number): string[];
1145
+ /**
1146
+ * 清理和标准化文本
1147
+ * @param text 输入文本
1148
+ * @returns 清理后的文本
1149
+ */
1150
+ static cleanText(text: string): string;
1151
+ /**
1152
+ * 简单的分词(按空格分割英文,按字符分割中文)
1153
+ * @param text 输入文本
1154
+ * @returns 分词后的数组
1155
+ */
1156
+ static tokenize(text: string): string[];
1157
+ /**
1158
+ * 从文本中移除停用词
1159
+ * @param text 输入文本
1160
+ * @returns 移除停用词后的文本
1161
+ */
1162
+ static removeStopWords(text: string): string;
1163
+ /**
1164
+ * 提取文本中的关键词(基于简单频率)
1165
+ * @param text 输入文本
1166
+ * @param topN 返回的关键词数量
1167
+ * @returns 关键词数组
1168
+ */
1169
+ static extractKeywords(text: string, topN?: number): string[];
1170
+ /**
1171
+ * 计算两个文本之间的简单相似度
1172
+ * @param text1 第一个文本
1173
+ * @param text2 第二个文本
1174
+ * @returns 相似度分数(0-1之间)
1175
+ */
1176
+ static simpleSimilarity(text1: string, text2: string): number;
1177
+ }
1178
+ //#endregion
1179
+ //#region src/core/chaite.d.ts
1180
+ /**
1181
+ * 入口
1182
+ */
1183
+ declare class Chaite extends EventEmitter {
1184
+ private channelsManager;
1185
+ private toolsManager;
1186
+ private processorsManager;
1187
+ private chatPresetManager;
1188
+ private toolsGroupManager;
1189
+ private triggerManager;
1190
+ private userModeSelector;
1191
+ private userStateStorage;
1192
+ private historyManager;
1193
+ private logger;
1194
+ private static instance;
1195
+ private ragManager?;
1196
+ private frontendAuthHandler;
1197
+ private globalConfig?;
1198
+ private expressApp?;
1199
+ private constructor();
1200
+ static init(channelsManager: ChannelsManager, toolsManager: ToolManager, processorsManager: ProcessorsManager, chatPresetManager: ChatPresetManager, toolsGroupManager: ToolsGroupManager, triggerManager: TriggerManager<TriggerDTO>, userModeSelector: UserModeSelector, userStateStorage: BasicStorage<UserState>, historyManager: HistoryManager | undefined, logger: ILogger): Chaite;
1201
+ static getInstance(): Chaite;
1202
+ onUpdateCustomConfig: (config: CustomConfig) => Promise<CustomConfig>;
1203
+ setUpdateConfigCallback(callback: (config: CustomConfig) => Promise<CustomConfig>): void;
1204
+ getCustomConfig: () => Promise<CustomConfig>;
1205
+ setGetConfig(callback: () => Promise<CustomConfig>): void;
1206
+ setRAGManager(ragManager: RAGManager): void;
1207
+ getRAGManager(): RAGManager | undefined;
1208
+ setGlobalConfig(globalConfig: GlobalConfig): void;
1209
+ getGlobalConfig(): GlobalConfig | undefined;
1210
+ setFrontendAuthHandler(frontendAuthHandler: FrontEndAuthHandler): void;
1211
+ getFrontendAuthHandler(): FrontEndAuthHandler;
1212
+ /**
1213
+ * 对话
1214
+ * @param message
1215
+ * @param e
1216
+ * @param options 包含对话id和消息id
1217
+ */
1218
+ sendMessage(message: UserMessage, e: EventMessage, options: SendMessageOption & {
1219
+ chatPreset?: ChatPreset;
1220
+ }): Promise<ModelResponse>;
1221
+ getChannelsManager(): ChannelsManager;
1222
+ setChannelsManager(channelsManager: ChannelsManager): void;
1223
+ getToolsManager(): ToolManager;
1224
+ setToolsManager(toolsManager: ToolManager): void;
1225
+ getProcessorsManager(): ProcessorsManager;
1226
+ setProcessorsManager(processorsManager: ProcessorsManager): void;
1227
+ getChatPresetManager(): ChatPresetManager;
1228
+ setChatPresetManager(chatPresetManager: ChatPresetManager): void;
1229
+ getToolsGroupManager(): ToolsGroupManager;
1230
+ setToolsGroupManager(toolsGroupManager: ToolsGroupManager): void;
1231
+ getTriggerManager(): TriggerManager<TriggerDTO>;
1232
+ setTriggerManager(triggerManager: TriggerManager<TriggerDTO>): void;
1233
+ getUserModeSelector(): UserModeSelector;
1234
+ setUserModeSelector(userModeSelector: UserModeSelector): void;
1235
+ getUserStateStorage(): BasicStorage<UserState>;
1236
+ setUserStateStorage(userStateStorage: BasicStorage<UserState>): void;
1237
+ getHistoryManager(): HistoryManager;
1238
+ setHistoryManager(historyManager: HistoryManager): void;
1239
+ getLogger(): ILogger;
1240
+ setLogger(logger: ILogger): void;
1241
+ /**
1242
+ * @deprecated Cloud service removed — local-only mode
1243
+ */
1244
+ setCloudService(_cloudServiceBaseUrl: string): void;
1245
+ /**
1246
+ * @deprecated Cloud service removed — local-only mode
1247
+ */
1248
+ auth(_apiKey: string): Promise<void>;
1249
+ getExpressApp(): Application | undefined;
1250
+ runApiServer(configureApp?: (app: Application) => void): Application;
1251
+ }
1252
+ //#endregion
1253
+ //#region src/types/common.d.ts
1254
+ declare const MultipleKeyStrategyChoice: {
1255
+ RANDOM: MultipleKeyStrategy;
1256
+ ROUND_ROBIN: MultipleKeyStrategy;
1257
+ CONVERSATION_HASH: MultipleKeyStrategy;
1258
+ };
1259
+ type MultipleKeyStrategy = 'random' | 'round-robin' | 'conversation-hash';
1260
+ declare class BaseClientOptions implements Serializable, DeSerializable<BaseClientOptions>, Wait {
1261
+ features: Feature[];
1262
+ tools: Tool[];
1263
+ baseUrl: string;
1264
+ apiKey: string | string[];
1265
+ multipleKeyStrategy?: MultipleKeyStrategy;
1266
+ proxy?: string;
1267
+ historyManager: HistoryManager;
1268
+ logger?: ILogger;
1269
+ postProcessorIds?: string[];
1270
+ private postProcessors?;
1271
+ preProcessorIds?: string[];
1272
+ private preProcessors?;
1273
+ constructor(options?: Partial<BaseClientOptions>);
1274
+ static create(options: BaseClientOptions | Partial<BaseClientOptions>): BaseClientOptions;
1275
+ private initPromise;
1276
+ ready(): Promise<void>;
1277
+ setHistoryManager(historyManager: HistoryManager): void;
1278
+ setLogger(logger: ILogger): void;
1279
+ getPostProcessors(): PostProcessor[];
1280
+ getPreProcessors(): PreProcessor[];
1281
+ init(): Promise<void>;
1282
+ toString(): string;
1283
+ fromString(str: string): BaseClientOptions;
1284
+ }
1285
+ interface ILogger {
1286
+ debug(msg: object | string, ...args: never[]): void;
1287
+ info(msg: object | string, ...args: never[]): void;
1288
+ warn(msg: object | string, ...args: never[]): void;
1289
+ error(msg: object | string, ...args: never[]): void;
1290
+ }
1291
+ declare const DefaultLogger: {
1292
+ readonly name: string;
1293
+ readonly enableColors: boolean;
1294
+ formatDate(): string;
1295
+ formatMessage(level: string, msg: object | string, args: never[]): string;
1296
+ debug(msg: object | string, ...args: never[]): void;
1297
+ error(msg: object | string, ...args: never[]): void;
1298
+ info(msg: object | string, ...args: never[]): void;
1299
+ warn(msg: object | string, ...args: never[]): void;
1300
+ };
1301
+ declare class ChaiteContext {
1302
+ constructor(logger?: ILogger);
1303
+ logger?: ILogger;
1304
+ chaite: Chaite;
1305
+ private options?;
1306
+ private historyMessages?;
1307
+ private event?;
1308
+ private data?;
1309
+ private client?;
1310
+ setHistoryMessages(histories: HistoryMessage[]): void;
1311
+ getHistoryMessages(): HistoryMessage[] | undefined;
1312
+ setOptions(options: SendMessageOption): void;
1313
+ getOptions(): SendMessageOption | undefined;
1314
+ setEvent(event: EventMessage): void;
1315
+ setChaite(chaite: Chaite): void;
1316
+ getEvent(): EventMessage | undefined;
1317
+ setData(data: Record<string, any>): void;
1318
+ getData(): Record<string, any> | undefined;
1319
+ setClient(client: AbstractClient): void;
1320
+ getClient(): AbstractClient | undefined;
1321
+ getChaite(): Chaite;
1322
+ }
1323
+ interface Into<U> {
1324
+ into(): U;
1325
+ }
1326
+ interface From<T> {
1327
+ from(value: T): this;
1328
+ }
1329
+ interface RAGResult {
1330
+ content: string;
1331
+ score: number;
1332
+ }
1333
+ interface Vectorizer {
1334
+ /**
1335
+ * 将文本转换为向量
1336
+ * @param text 输入文本
1337
+ * @returns 文本的向量表示
1338
+ */
1339
+ textToVector(text: string): Promise<number[]>;
1340
+ /**
1341
+ * 批量将文本转换为向量
1342
+ * @param texts 输入文本数组
1343
+ * @returns 文本向量数组
1344
+ */
1345
+ batchTextToVector(texts: string[]): Promise<number[][]>;
1346
+ }
1347
+ type CloudAPIType = 'tool' | 'processor' | 'chat-preset' | 'channel' | 'tool-group' | 'trigger';
1348
+ type CustomConfigValueType = string | number | boolean | object | undefined | null | CustomConfigValueType[];
1349
+ type CustomConfig = Record<string, CustomConfigValueType | Record<string, CustomConfigValueType>>;
1350
+ //#endregion
1351
+ //#region src/types/tools.d.ts
1352
+ interface Function {
1353
+ name: string;
1354
+ description: string;
1355
+ parameters: Parameter;
1356
+ }
1357
+ interface Parameter {
1358
+ type: 'object';
1359
+ properties: Record<string, Property>;
1360
+ required: string[];
1361
+ }
1362
+ interface Property {
1363
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
1364
+ description: string | null;
1365
+ }
1366
+ interface Tool {
1367
+ name: Function['name'];
1368
+ type: 'function';
1369
+ function: Function;
1370
+ run(args: Record<string, ArgumentValue | Record<string, ArgumentValue>>, chaiteContext?: ChaiteContext): Promise<string>;
1371
+ }
1372
+ declare class ToolDTO extends AbstractShareable<ToolDTO> {
1373
+ constructor(params: Partial<ToolDTO>);
1374
+ status: 'enabled' | 'disabled';
1375
+ permission: 'public' | 'private' | 'onetime';
1376
+ toFormatedString(_verbose?: boolean): string;
1377
+ fromString(str: string): ToolDTO;
1378
+ }
1379
+ /**
1380
+ * 工具组,与若干个工具关联
1381
+ */
1382
+ interface ToolsGroup {
1383
+ id: string;
1384
+ name: string;
1385
+ description: string;
1386
+ toolIds: string[];
1387
+ isDefault?: boolean;
1388
+ }
1389
+ declare class ToolsGroupDTO extends AbstractShareable<ToolsGroupDTO> implements ToolsGroup {
1390
+ constructor(params: Partial<ToolsGroupDTO>);
1391
+ toolIds: string[];
1392
+ isDefault?: boolean | undefined;
1393
+ toFormatedString(_verbose?: boolean): string;
1394
+ }
1395
+ /**
1396
+ * js写的工具可以继承这个抽象类
1397
+ */
1398
+ declare abstract class CustomTool implements Tool {
1399
+ constructor();
1400
+ type: "function";
1401
+ function: Function;
1402
+ run(_args: Record<string, ArgumentValue | Record<string, ArgumentValue>>, _context?: ChaiteContext): Promise<string>;
1403
+ name: Function['name'];
1404
+ }
1405
+ //#endregion
1406
+ //#region src/types/channel.d.ts
1407
+ declare class ChannelStatistics implements Serializable, DeSerializable<ChannelStatistics> {
1408
+ callTimes?: number;
1409
+ useToken?: number;
1410
+ perModel: Record<string, Omit<ChannelStatistics, 'perModel'>>;
1411
+ fromString(str: string): ChannelStatistics;
1412
+ toString(): string;
1413
+ }
1414
+ interface ChannelsLoadBalancer {
1415
+ getChannel(model: string, channels: Channel[]): Promise<Channel | null>;
1416
+ getChannels(model: string, channels: Channel[], totalQuantity: number): Promise<{
1417
+ channel: Channel;
1418
+ quantity: number;
1419
+ }[]>;
1420
+ }
1421
+ //#endregion
1422
+ //#region src/types/storage.d.ts
1423
+ /**
1424
+ * 基本存储接口
1425
+ */
1426
+ interface BasicStorage<T> {
1427
+ getName(): string;
1428
+ getItem(key: string): Promise<T | null>;
1429
+ setItem(key: string, value: T): Promise<string>;
1430
+ removeItem(key: string): Promise<void>;
1431
+ listItems(): Promise<T[]>;
1432
+ listItemsByEqFilter(filter: Record<string, unknown>): Promise<T[]>;
1433
+ listItemsByInQuery(query: Array<{
1434
+ field: string;
1435
+ values: unknown[];
1436
+ }>): Promise<T[]>;
1437
+ clear(): Promise<void>;
1438
+ }
1439
+ declare abstract class ChaiteStorage<T> implements BasicStorage<T> {
1440
+ abstract getItem(key: string): Promise<T | null>;
1441
+ abstract setItem(key: string, value: T): Promise<string>;
1442
+ abstract removeItem(key: string): Promise<void>;
1443
+ abstract listItems(): Promise<T[]>;
1444
+ abstract listItemsByEqFilter(filter: Record<string, unknown>): Promise<T[]>;
1445
+ abstract listItemsByInQuery(query: Array<{
1446
+ field: string;
1447
+ values: unknown[];
1448
+ }>): Promise<T[]>;
1449
+ abstract clear(): Promise<void>;
1450
+ getName(): string;
1451
+ }
1452
+ interface UserState {
1453
+ userId: number | string;
1454
+ nickname?: string;
1455
+ card?: string;
1456
+ conversations: Conversation[];
1457
+ settings: UserSettings;
1458
+ current: {
1459
+ conversationId?: string;
1460
+ messageId?: string;
1461
+ };
1462
+ }
1463
+ interface Conversation {
1464
+ id: string;
1465
+ name: string;
1466
+ lastMessageId: string;
1467
+ }
1468
+ interface UserSettings {
1469
+ preset: string;
1470
+ model: string;
1471
+ temperature: number;
1472
+ maxToken: number;
1473
+ systemOverride: string;
1474
+ enableReasoning: boolean;
1475
+ reasoningEffort: 'high' | 'medium' | 'low' | 'minimal';
1476
+ reasoningBudgetTokens: number;
1477
+ toolChoice: ToolChoice;
1478
+ }
1479
+ //#endregion
1480
+ //#region src/types/server.d.ts
1481
+ declare class ChaiteResponse<T> {
1482
+ private code;
1483
+ private data;
1484
+ private message;
1485
+ constructor(code: number, data: T, message: string);
1486
+ static ok<T>(data: T): ChaiteResponse<T>;
1487
+ static okm<T>(data: T, msg: string): ChaiteResponse<T>;
1488
+ static fail<T>(data: T, msg: string): ChaiteResponse<T>;
1489
+ static failc<T>(data: T, msg: string, code: number): ChaiteResponse<T>;
1490
+ }
1491
+ //#endregion
1492
+ //#region src/types/trigger.d.ts
1493
+ declare class TriggerDTO extends AbstractShareable<TriggerDTO> {
1494
+ constructor(params: Partial<TriggerDTO>);
1495
+ status: 'enabled' | 'disabled';
1496
+ isOneTime?: boolean;
1497
+ fromString(str: string): TriggerDTO;
1498
+ toFormatedString(verbose?: boolean): string;
1499
+ }
1500
+ interface Trigger {
1501
+ name: string;
1502
+ isOneTime?: boolean;
1503
+ register(context: ChaiteContext): Promise<void>;
1504
+ unregister(): Promise<void>;
1505
+ queryLLM(message: UserMessage, options: SendMessageOption & {
1506
+ chatPreset?: ChatPreset;
1507
+ }): Promise<ModelResponse>;
1508
+ }
1509
+ declare abstract class BaseTrigger implements Trigger {
1510
+ name: string;
1511
+ isOneTime?: boolean;
1512
+ private triggerExecuted;
1513
+ constructor(params: {
1514
+ name: string;
1515
+ isOneTime?: boolean;
1516
+ });
1517
+ protected abstract registerImpl(context: ChaiteContext): Promise<void>;
1518
+ protected abstract unregisterImpl(): Promise<void>;
1519
+ register(context: ChaiteContext): Promise<void>;
1520
+ unregister(): Promise<void>;
1521
+ protected checkOneTimeAndCleanup(): Promise<boolean>;
1522
+ protected triggerAction(action: () => Promise<void>): Promise<void>;
1523
+ queryLLM(message: UserMessage, options: SendMessageOption & {
1524
+ chatPreset?: ChatPreset;
1525
+ }): Promise<ModelResponse>;
1526
+ }
1527
+ declare abstract class CronTrigger extends BaseTrigger {
1528
+ protected cronExpression: string;
1529
+ protected cronJob?: Job;
1530
+ constructor(params: {
1531
+ name: string;
1532
+ description: string;
1533
+ cronExpression: string;
1534
+ isOneTime?: boolean;
1535
+ });
1536
+ protected registerImpl(context: ChaiteContext): Promise<void>;
1537
+ protected unregisterImpl(): Promise<void>;
1538
+ unregister(): Promise<void>;
1539
+ protected abstract execute(context: ChaiteContext): Promise<void>;
1540
+ }
1541
+ declare abstract class EventTrigger extends BaseTrigger {
1542
+ protected bot: EventEmitter;
1543
+ protected eventName: string;
1544
+ protected eventHandler: (...args: any[]) => void;
1545
+ private isRegistered;
1546
+ constructor(params: {
1547
+ id: string;
1548
+ name: string;
1549
+ description: string;
1550
+ eventName: string;
1551
+ bot: EventEmitter;
1552
+ isOneTime?: boolean;
1553
+ });
1554
+ register(context: ChaiteContext): Promise<void>;
1555
+ unregister(): Promise<void>;
1556
+ protected abstract handleEvent(...args: any[]): Promise<void>;
1557
+ }
1558
+ //#endregion
1559
+ //#region src/const/map.d.ts
1560
+ declare const CHANNEL_STATUS_MAP: {
1561
+ enabled: string;
1562
+ disabled: string;
1563
+ };
1564
+ declare const PROCESSOR_TYPE_MAP: {
1565
+ pre: string;
1566
+ post: string;
1567
+ };
1568
+ //#endregion
1569
+ //#region src/version.d.ts
1570
+ declare const VERSION = "1.9.3";
1571
+ //#endregion
1572
+ //#region src/controllers/index.d.ts
1573
+ declare function createApp(configure?: (app: Application) => void): Application;
1574
+ declare function runServer(host: string, port: number, configure?: (app: Application) => void): {
1575
+ app: Application;
1576
+ server: Server;
1577
+ };
1578
+ //#endregion
1579
+ export { AbstractClient, AbstractHistoryManager, AbstractShareable, AbstractUserModeSelector, AbstractVectorDatabase, ArgumentValue, AssistantMessage, AudioContent, BaseClientOptions, BaseTrigger, BasicStorage, CHANNEL_STATUS_MAP, Chaite, ChaiteContext, ChaiteResponse, ChaiteStorage, Channel, ChannelStatistics, ChannelsLoadBalancer, ChannelsManager, ChatPreset, ChatPresetManager, ClaudeClient, ClientType, CloudAPIResponse, CloudAPIType, CloudModel, CloudSharingService, Conversation, CronTrigger, CustomConfig, CustomConfigValueType, CustomTool, DEFAULT_HOST, DEFAULT_PORT, DeSerializable, DefaultChannelLoadBalancer, DefaultCloudService, DefaultLogger, DeveloperMessage, DocumentFileParser, DocumentPathParser, DocxBufferParser, DocxFileParser, EmbeddingOption, EmbeddingResult, EventMessage, EventTrigger, ExecutableSShareableType, ExecutableShareableManager, Feature, FilePath, Filter, From, FrontEndAuthHandler, Function, FunctionCall, GeminiClient, GeminiClientOptions, GlobalConfig, History, HistoryManager, HistoryMessage, IClient, ILogger, IMessage, ImageContent, InMemoryHistoryManager, Into, KVHistoryManager, KVStore, MessageContent, ModelResponse, ModelResponseChunk, ModelUsage, MultipleKeyStrategy, MultipleKeyStrategyChoice, NonExecutableSShareableType, NonExecutableShareableManager, OpenAIClient, OpenAIClientOptions, PROCESSOR_TYPE_MAP, PaginationResult, Parameter, Parser, ParserType, PdfBufferParser, PdfFileParser, PostProcessor, PreProcessor, Processor, ProcessorDTO, ProcessorsManager, Property, PureTextBufferParser, PureTextFileParser, RAGManager, RAGResult, ReasoningContent, ReasoningPart, Role, SearchOption, SendMessageOption, Serializable, Shareable, SystemMessage, TextContent, TextProcessor, Tool, ToolCall, ToolCallLimitConfig, ToolCallResult, ToolCallResultMessage, ToolChoice, ToolDTO, ToolManager, ToolsGroup, ToolsGroupDTO, ToolsGroupManager, Trigger, TriggerDTO, TriggerManager, User, UserMessage, UserModeSelector, UserSettings, UserState, VERSION, ValidExtension, VectorDatabase, Vectorizer, VectorizerImpl, Wait, asyncLocalStorage, createApp, createClient, extractClassName, getKey, getLogger, runServer, saveAndLoadModule, useEvent };