@nocobase/plugin-ai 2.3.0-alpha.1 → 2.3.0-beta.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 (307) hide show
  1. package/dist/ai/docs/nocobase/ai-dev/watermark-plugin.md +2 -0
  2. package/dist/ai/docs/nocobase/ai-employees/block/ai-chat-box.md +133 -0
  3. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/documents.md +1 -1
  4. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/index.md +11 -7
  5. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/settings.md +12 -8
  6. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/rag.md +43 -13
  7. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-database.md +3 -3
  8. package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/create-document.md +1 -1
  9. package/dist/ai/docs/nocobase/api/app/env.md +2 -0
  10. package/dist/ai/docs/nocobase/api/cli/api/resource/create.md +4 -3
  11. package/dist/ai/docs/nocobase/building-tips/ai-fill-js-block-form.md +1092 -0
  12. package/dist/ai/docs/nocobase/data-sources/calendar/calendar-collection.md +100 -3
  13. package/dist/ai/docs/nocobase/data-sources/collection-comment/index.md +92 -39
  14. package/dist/ai/docs/nocobase/data-sources/collection-sql/index.md +150 -29
  15. package/dist/ai/docs/nocobase/data-sources/collection-tree/index.md +93 -5
  16. package/dist/ai/docs/nocobase/data-sources/collection-view/index.md +226 -4
  17. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/china-region.md +122 -5
  18. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/collection-select.md +105 -4
  19. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/json.md +102 -4
  20. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/nano-id.md +104 -4
  21. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/snowflake-id.md +108 -4
  22. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/sort.md +3 -19
  23. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/uuid.md +104 -4
  24. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/index.md +44 -8
  25. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/color.md +102 -4
  26. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/email.md +104 -4
  27. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/icon.md +102 -4
  28. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/input.md +112 -8
  29. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/integer.md +103 -4
  30. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/number.md +103 -4
  31. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/password.md +102 -4
  32. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/percent.md +104 -5
  33. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/phone.md +104 -4
  34. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/textarea.md +99 -8
  35. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/url.md +103 -4
  36. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox-group.md +105 -3
  37. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox.md +102 -4
  38. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/china-region.md +108 -5
  39. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/multiple-select.md +103 -5
  40. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/radio-group.md +106 -4
  41. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/select.md +103 -5
  42. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/date.md +102 -4
  43. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime-without-tz.md +103 -5
  44. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime.md +103 -5
  45. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/index.md +53 -47
  46. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/time.md +102 -4
  47. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/unix-timestamp.md +103 -5
  48. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/circle.md +102 -4
  49. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/line.md +103 -5
  50. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/point.md +102 -4
  51. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/polygon.md +102 -4
  52. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/index.md +62 -16
  53. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/markdown.md +104 -4
  54. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/rich-text.md +105 -5
  55. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-at.md +105 -5
  56. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-by.md +103 -5
  57. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/space.md +100 -6
  58. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/table-oid.md +102 -4
  59. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-at.md +104 -5
  60. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-by.md +104 -6
  61. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/validation.md +68 -58
  62. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection.md +32 -13
  63. package/dist/ai/docs/nocobase/data-sources/data-modeling/index.md +41 -33
  64. package/dist/ai/docs/nocobase/data-sources/data-source-external-mariadb/index.md +114 -6
  65. package/dist/ai/docs/nocobase/data-sources/data-source-external-mssql/index.md +117 -6
  66. package/dist/ai/docs/nocobase/data-sources/data-source-external-mysql/index.md +103 -6
  67. package/dist/ai/docs/nocobase/data-sources/data-source-external-nocobase/index.md +75 -73
  68. package/dist/ai/docs/nocobase/data-sources/data-source-external-oracle/index.md +129 -11
  69. package/dist/ai/docs/nocobase/data-sources/data-source-external-postgres/index.md +110 -6
  70. package/dist/ai/docs/nocobase/data-sources/data-source-kingbase/index.md +75 -49
  71. package/dist/ai/docs/nocobase/data-sources/data-source-main/general-collection.md +116 -15
  72. package/dist/ai/docs/nocobase/data-sources/data-source-main/index.md +92 -62
  73. package/dist/ai/docs/nocobase/data-sources/data-source-main/inheritance-collection.md +97 -10
  74. package/dist/ai/docs/nocobase/data-sources/data-source-manager/external-database.md +97 -58
  75. package/dist/ai/docs/nocobase/data-sources/data-source-manager/index.md +32 -24
  76. package/dist/ai/docs/nocobase/data-sources/data-source-rest-api/index.md +115 -153
  77. package/dist/ai/docs/nocobase/data-sources/external/clickhouse.md +124 -0
  78. package/dist/ai/docs/nocobase/data-sources/external/doris.md +130 -0
  79. package/dist/ai/docs/nocobase/data-sources/external/index.md +140 -0
  80. package/dist/ai/docs/nocobase/data-sources/external/kingbase.md +129 -0
  81. package/dist/ai/docs/nocobase/data-sources/external/mariadb.md +126 -0
  82. package/dist/ai/docs/nocobase/data-sources/external/mssql.md +129 -0
  83. package/dist/ai/docs/nocobase/data-sources/external/mysql.md +115 -0
  84. package/dist/ai/docs/nocobase/data-sources/external/nocobase.md +159 -0
  85. package/dist/ai/docs/nocobase/data-sources/external/oceanbase.md +126 -0
  86. package/dist/ai/docs/nocobase/data-sources/external/oracle.md +158 -0
  87. package/dist/ai/docs/nocobase/data-sources/external/postgresql.md +122 -0
  88. package/dist/ai/docs/nocobase/data-sources/external/rest-api.md +245 -0
  89. package/dist/ai/docs/nocobase/data-sources/field-attachment-url/index.md +100 -12
  90. package/dist/ai/docs/nocobase/data-sources/field-encryption/index.md +48 -47
  91. package/dist/ai/docs/nocobase/data-sources/field-formula/index.md +99 -5
  92. package/dist/ai/docs/nocobase/data-sources/field-markdown-vditor/index.md +105 -5
  93. package/dist/ai/docs/nocobase/data-sources/field-sequence/index.md +102 -5
  94. package/dist/ai/docs/nocobase/data-sources/field-signature/index.md +18 -16
  95. package/dist/ai/docs/nocobase/data-sources/field-sort/index.md +76 -73
  96. package/dist/ai/docs/nocobase/data-sources/file-manager/field-attachment.md +101 -7
  97. package/dist/ai/docs/nocobase/data-sources/file-manager/file-collection.md +101 -14
  98. package/dist/ai/docs/nocobase/data-sources/index.md +49 -33
  99. package/dist/ai/docs/nocobase/data-sources/main/index.md +130 -0
  100. package/dist/ai/docs/nocobase/data-sources/main/kingbase.md +147 -0
  101. package/dist/ai/docs/nocobase/data-sources/main/mariadb.md +59 -0
  102. package/dist/ai/docs/nocobase/data-sources/main/mysql.md +59 -0
  103. package/dist/ai/docs/nocobase/data-sources/main/oceanbase.md +62 -0
  104. package/dist/ai/docs/nocobase/data-sources/main/postgresql.md +61 -0
  105. package/dist/ai/docs/nocobase/file-manager/file-preview/index.md +44 -3
  106. package/dist/ai/docs/nocobase/file-manager/storage/aliyun-oss.md +100 -3
  107. package/dist/ai/docs/nocobase/file-manager/storage/index.md +66 -26
  108. package/dist/ai/docs/nocobase/file-manager/storage/s3-pro.md +58 -7
  109. package/dist/ai/docs/nocobase/get-started/installation/env.md +1 -1
  110. package/dist/ai/docs/nocobase/ops-management/migration-manager/built-in-tables.md +1 -2
  111. package/dist/ai/docs/nocobase/plugin-development/build.md +10 -4
  112. package/dist/ai/docs/nocobase/plugin-development/client/appendix/faq.md +1 -1
  113. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-action.md +2 -0
  114. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-block.md +2 -0
  115. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-field.md +2 -0
  116. package/dist/ai/docs/nocobase/plugin-development/client/examples/fullstack-plugin.md +2 -0
  117. package/dist/ai/docs/nocobase/plugin-development/client/examples/settings-page.md +2 -0
  118. package/dist/ai/docs/nocobase/plugin-development/common/i18n.md +3 -3
  119. package/dist/ai/docs/nocobase/plugin-development/server/cache.md +1 -1
  120. package/dist/ai/docs/nocobase/plugin-development/server/collections.md +0 -6
  121. package/dist/ai/docs/nocobase/plugin-development/server/command.md +2 -2
  122. package/dist/ai/docs/nocobase/plugin-development/server/context.md +2 -2
  123. package/dist/ai/docs/nocobase/plugin-development/server/i18n.md +4 -4
  124. package/dist/ai/docs/nocobase/plugin-development/write-your-first-plugin.md +91 -43
  125. package/dist/ai/docs/nocobase/runjs/context/ai.md +194 -4
  126. package/dist/ai/docs/nocobase/users-permissions/sync/index.md +8 -1
  127. package/dist/ai/docs/nocobase/users-permissions/sync/sources/dingtalk.md +138 -0
  128. package/dist/ai/docs/nocobase/users-permissions/sync/sources/ldap.md +87 -0
  129. package/dist/ai/docs/nocobase/workflow/nodes/javascript.md +21 -1
  130. package/dist/ai/tools/executeFrontendTool.d.ts +10 -0
  131. package/dist/ai/tools/executeFrontendTool.js +86 -0
  132. package/dist/ai/tools/getSkill.js +1 -1
  133. package/dist/ai/tools/knowledge-base-retrieve.js +3 -1
  134. package/dist/ai/tools/loadFrontendTool.d.ts +10 -0
  135. package/dist/ai/tools/loadFrontendTool.js +99 -0
  136. package/dist/client/244.28ee769f796b7c2f.js +10 -0
  137. package/dist/client/{525.203778500aca5d05.js → 525.94dd4136c1361477.js} +1 -1
  138. package/dist/client/681.6ffbc9329b9ac242.js +10 -0
  139. package/dist/{client-v2/705.1d10027ff8cfdf79.js → client/705.a4fe26945d175e8a.js} +1 -1
  140. package/dist/client/index.d.ts +1 -3
  141. package/dist/client/index.js +8 -8
  142. package/dist/client-v2/244.39348a95d627d9e3.js +10 -0
  143. package/dist/client-v2/420.a5b929a5e7f330be.js +10 -0
  144. package/dist/client-v2/681.6890caa389564ff7.js +10 -0
  145. package/dist/client-v2/705.f2e1b26a3f000075.js +10 -0
  146. package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +2 -0
  147. package/dist/client-v2/ai-employees/AddContextButton.d.ts +2 -0
  148. package/dist/client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts +1 -0
  149. package/dist/client-v2/ai-employees/chatbox/components/ChatBoxUnreadBadge.d.ts +17 -0
  150. package/dist/client-v2/ai-employees/chatbox/components/Conversations.d.ts +9 -1
  151. package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +1 -1
  152. package/dist/client-v2/ai-employees/chatbox/components/Messages.d.ts +5 -1
  153. package/dist/client-v2/ai-employees/chatbox/components/ModelSwitcher.d.ts +4 -0
  154. package/dist/client-v2/ai-employees/chatbox/components/Sender.d.ts +33 -1
  155. package/dist/client-v2/ai-employees/chatbox/components/index.d.ts +1 -0
  156. package/dist/client-v2/ai-employees/chatbox/hooks/reasoning-stream.d.ts +10 -0
  157. package/dist/client-v2/ai-employees/chatbox/hooks/useChat.d.ts +8 -5
  158. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +3 -2
  159. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +2 -1
  160. package/dist/client-v2/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +3 -2
  161. package/dist/client-v2/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +4 -2
  162. package/dist/client-v2/ai-employees/chatbox/hooks/useToolCallActions.d.ts +3 -1
  163. package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +13 -3
  164. package/dist/client-v2/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +3 -2
  165. package/dist/client-v2/ai-employees/chatbox/index.d.ts +17 -0
  166. package/dist/client-v2/ai-employees/chatbox/roles.d.ts +2 -153
  167. package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +46 -33
  168. package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +7 -7
  169. package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +23 -18
  170. package/dist/client-v2/ai-employees/chatbox/stores/chat-sender.d.ts +43 -0
  171. package/dist/client-v2/ai-employees/chatbox/stores/chat-tool-call.d.ts +6 -5
  172. package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +11 -5
  173. package/dist/client-v2/ai-employees/chatbox/stores/mounted-chat-boxes.d.ts +20 -0
  174. package/dist/client-v2/ai-employees/chatbox/stores/runtime.d.ts +43 -0
  175. package/dist/client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts +22 -10
  176. package/dist/client-v2/ai-employees/chatbox/upload.d.ts +19 -0
  177. package/dist/client-v2/ai-employees/chatbox/utils.d.ts +28 -4
  178. package/dist/client-v2/ai-employees/frontend-tools.d.ts +11 -0
  179. package/dist/client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts +1 -1
  180. package/dist/client-v2/ai-employees/tools/WorkflowTaskOutputCard.d.ts +1 -1
  181. package/dist/client-v2/ai-employees/types.d.ts +30 -0
  182. package/dist/client-v2/block/ai-chat-box/AIChatBoxBlockModel.d.ts +21 -0
  183. package/dist/client-v2/block/ai-chat-box/AIChatBoxCoreModel.d.ts +13 -0
  184. package/dist/client-v2/{ai-employees/chatbox/components/DebugPanel.d.ts → block/ai-chat-box/components/AIChatBoxCoreView.d.ts} +1 -1
  185. package/dist/client-v2/block/ai-chat-box/components/AIChatBoxView.d.ts +12 -0
  186. package/dist/client-v2/block/ai-chat-box/index.d.ts +14 -0
  187. package/dist/client-v2/block/ai-chat-box/settings.d.ts +12 -0
  188. package/dist/client-v2/block/ai-chat-box/sub-models.d.ts +26 -0
  189. package/dist/client-v2/block/ai-chat-box/types.d.ts +38 -0
  190. package/dist/client-v2/block/ai-chat-box/utils.d.ts +26 -0
  191. package/dist/client-v2/index.d.ts +3 -5
  192. package/dist/client-v2/index.js +3 -3
  193. package/dist/client-v2/llm-providers/forms.d.ts +2 -0
  194. package/dist/client-v2/llm-providers/index.d.ts +1 -0
  195. package/dist/client-v2/llm-services/model-select.d.ts +33 -0
  196. package/dist/client-v2/llm-services/utils.d.ts +1 -0
  197. package/dist/client-v2/manager/ai-manager.d.ts +10 -3
  198. package/dist/client-v2/manager/frontend-tool-registry.d.ts +30 -0
  199. package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +4 -1
  200. package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +8 -0
  201. package/dist/client-v2/pages/EmployeesPage.d.ts +12 -0
  202. package/dist/client-v2/pages/LLMServicesPage.d.ts +9 -4
  203. package/dist/client-v2/repositories/AIConfigRepository.d.ts +2 -0
  204. package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +1 -0
  205. package/dist/collections/ai-employees.d.ts +1 -0
  206. package/dist/collections/ai-employees.js +1 -0
  207. package/dist/common/ai-employee-validation.d.ts +15 -0
  208. package/dist/common/ai-employee-validation.js +61 -0
  209. package/dist/common/error-codes.d.ts +13 -0
  210. package/dist/common/error-codes.js +48 -0
  211. package/dist/common/frontend-tools.d.ts +26 -0
  212. package/dist/common/frontend-tools.js +57 -0
  213. package/dist/common/llm-service-models.d.ts +16 -0
  214. package/dist/common/llm-service-models.js +84 -0
  215. package/dist/externalVersion.js +19 -17
  216. package/dist/locale/de-DE.json +2 -1
  217. package/dist/locale/en-US.json +85 -5
  218. package/dist/locale/es-ES.json +2 -1
  219. package/dist/locale/fr-FR.json +2 -1
  220. package/dist/locale/hu-HU.json +2 -1
  221. package/dist/locale/id-ID.json +2 -1
  222. package/dist/locale/it-IT.json +2 -1
  223. package/dist/locale/ja-JP.json +2 -1
  224. package/dist/locale/ko-KR.json +2 -1
  225. package/dist/locale/nl-NL.json +2 -1
  226. package/dist/locale/pt-BR.json +2 -1
  227. package/dist/locale/ru-RU.json +2 -1
  228. package/dist/locale/tr-TR.json +2 -1
  229. package/dist/locale/uk-UA.json +2 -1
  230. package/dist/locale/vi-VN.json +2 -1
  231. package/dist/locale/zh-CN.json +85 -5
  232. package/dist/locale/zh-TW.json +2 -1
  233. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  234. package/dist/node_modules/@langchain/xai/package.json +1 -1
  235. package/dist/node_modules/fs-extra/package.json +1 -1
  236. package/dist/node_modules/jsonrepair/package.json +1 -1
  237. package/dist/node_modules/just-bash/package.json +1 -1
  238. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  239. package/dist/node_modules/openai/package.json +1 -1
  240. package/dist/node_modules/zod/package.json +1 -1
  241. package/dist/server/ai-employees/ai-conversations.d.ts +4 -1
  242. package/dist/server/ai-employees/ai-conversations.js +2 -0
  243. package/dist/server/ai-employees/ai-employee.d.ts +4 -1
  244. package/dist/server/ai-employees/ai-employee.js +112 -47
  245. package/dist/server/ai-employees/ai-knowledge-base.d.ts +21 -1
  246. package/dist/server/ai-employees/ai-knowledge-base.js +76 -8
  247. package/dist/server/ai-employees/middleware/conversation.js +9 -2
  248. package/dist/server/ai-employees/reasoning-stream-state.d.ts +23 -0
  249. package/dist/server/ai-employees/reasoning-stream-state.js +63 -0
  250. package/dist/server/collections/ai-conversations.js +5 -0
  251. package/dist/server/document-loader/constants.js +1 -1
  252. package/dist/server/features/knowledge-base.d.ts +2 -0
  253. package/dist/server/frontend-tools.d.ts +25 -0
  254. package/dist/server/frontend-tools.js +171 -0
  255. package/dist/server/llm-providers/common/reasoning.js +18 -10
  256. package/dist/server/llm-providers/deepseek/index.d.ts +10 -0
  257. package/dist/server/llm-providers/deepseek/index.js +32 -0
  258. package/dist/server/llm-providers/deepseek/provider.d.ts +57 -0
  259. package/dist/server/llm-providers/deepseek/provider.js +320 -0
  260. package/dist/server/llm-providers/deepseek/reasoning.d.ts +83 -0
  261. package/dist/server/llm-providers/deepseek/reasoning.js +285 -0
  262. package/dist/server/llm-providers/mistral.d.ts +1 -1
  263. package/dist/server/llm-providers/provider.d.ts +1 -0
  264. package/dist/server/llm-providers/provider.js +3 -0
  265. package/dist/server/llm-providers/shengsuanyun.d.ts +29 -0
  266. package/dist/server/llm-providers/shengsuanyun.js +114 -0
  267. package/dist/server/manager/ai-feature-manager.js +1 -1
  268. package/dist/server/manager/ai-manager.d.ts +3 -0
  269. package/dist/server/manager/ai-manager.js +7 -2
  270. package/dist/server/manager/work-context-handler.js +10 -3
  271. package/dist/server/migrations/20260501000000-ai-employee-knowledge-base-retrieval-strategy.d.ts +14 -0
  272. package/dist/server/migrations/20260501000000-ai-employee-knowledge-base-retrieval-strategy.js +49 -0
  273. package/dist/server/plugin.d.ts +1 -0
  274. package/dist/server/plugin.js +31 -0
  275. package/dist/server/resource/aiConversations.d.ts +2 -0
  276. package/dist/server/resource/aiConversations.js +33 -3
  277. package/dist/server/resource/aiEmployees.d.ts +2 -0
  278. package/dist/server/resource/aiEmployees.js +70 -0
  279. package/dist/server/resource/aiWorkflowTasks.js +9 -1
  280. package/dist/server/resource/llmServices.d.ts +11 -0
  281. package/dist/server/resource/llmServices.js +85 -0
  282. package/dist/server/types/ai-message.type.d.ts +4 -0
  283. package/dist/server/types/knowledge-base.type.d.ts +8 -3
  284. package/dist/swagger/common.d.ts +143 -0
  285. package/dist/swagger/common.js +144 -0
  286. package/dist/swagger/employees.d.ts +301 -0
  287. package/dist/swagger/employees.js +131 -0
  288. package/dist/swagger/index.d.ts +1617 -0
  289. package/dist/swagger/index.js +62 -0
  290. package/dist/swagger/llm.d.ts +563 -0
  291. package/dist/swagger/llm.js +255 -0
  292. package/dist/swagger/schemas.d.ts +757 -0
  293. package/dist/swagger/schemas.js +392 -0
  294. package/package.json +2 -2
  295. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-store.md +0 -24
  296. package/dist/ai/docs/nocobase/data-sources/development/index.md +0 -6
  297. package/dist/client/372.40eb52905e3f3049.js +0 -10
  298. package/dist/client/681.399948c18d753667.js +0 -10
  299. package/dist/client/705.380279da896021fb.js +0 -10
  300. package/dist/client-v2/372.8cc3fde09c9bec77.js +0 -10
  301. package/dist/client-v2/406.341be51205c674e0.js +0 -10
  302. package/dist/client-v2/681.082f4f1c7b841983.js +0 -10
  303. package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +0 -46
  304. package/dist/client-v2/ai-employees/chatbox/utils/normalizeTriggerTaskOptions.d.ts +0 -19
  305. package/dist/client-v2/debug-logger.d.ts +0 -52
  306. package/dist/server/llm-providers/deepseek.d.ts +0 -40
  307. package/dist/server/llm-providers/deepseek.js +0 -174
@@ -6,4 +6,5 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- export declare const useChatBoxEffect: () => void;
9
+ import { type ChatBoxRuntime } from '../stores/runtime';
10
+ export declare const useChatBoxEffect: (runtime?: ChatBoxRuntime) => void;
@@ -7,7 +7,8 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { Conversation } from '../../types';
10
- export declare const useChatConversationActions: () => {
10
+ import { type ChatBoxRuntime } from '../stores/runtime';
11
+ export declare const useChatConversationActions: (runtime?: ChatBoxRuntime) => {
11
12
  conversationsService: import("ahooks/lib/useRequest/src/types").Result<{
12
13
  data: Conversation[];
13
14
  meta: {
@@ -21,5 +22,5 @@ export declare const useChatConversationActions: () => {
21
22
  lastConversationRef: (node: HTMLElement) => void;
22
23
  runSearch: (keyword?: string) => void;
23
24
  refresh: () => void;
24
- unreadCount: number;
25
+ readonly unreadCount: number;
25
26
  };
@@ -7,11 +7,13 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { AIEmployee, Attachment, ContextItem, ResendOptions, SendOptions } from '../../types';
10
- export declare const useChatMessageActions: () => {
10
+ import { type ChatBoxRuntime } from '../stores/runtime';
11
+ export declare const useChatMessageActions: (runtime?: ChatBoxRuntime) => {
11
12
  syncContextAttachments: (items: ContextItem | ContextItem[]) => Attachment[];
12
13
  loadMessages: (sessionId?: string, cursor?: string) => Promise<void>;
13
14
  loadMoreMessages: () => Promise<void>;
14
- sendMessages: ({ sessionId, aiEmployee, systemMessage, messages: sendMsgs, attachments, workContext, editingMessageId, onConversationCreate, skillSettings, webSearch, model: inputModel, }: SendOptions & {
15
+ sendMessages: ({ sessionId, aiEmployee, systemMessage, messages: sendMsgs, attachments, workContext, editingMessageId, onConversationCreate, skillSettings, webSearch, scope, model: inputModel, onResponseLoadingChange, }: SendOptions & {
16
+ scope?: string;
15
17
  onConversationCreate?: (sessionId: string) => void;
16
18
  }) => Promise<void>;
17
19
  resendMessages: ({ sessionId, messageId, aiEmployee, important }: ResendOptions) => Promise<void>;
@@ -7,8 +7,10 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { DecisionActions, ToolCall } from '@nocobase/client-v2';
10
- export declare const useToolCallActions: ({ messageId }: {
10
+ import { type ChatBoxRuntime } from '../stores/runtime';
11
+ export declare const useToolCallActions: ({ messageId, runtime }: {
11
12
  messageId: string;
13
+ runtime?: ChatBoxRuntime;
12
14
  }) => {
13
15
  getDecisionActions: (toolCall: ToolCall) => DecisionActions;
14
16
  };
@@ -7,6 +7,7 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import type { Attachment } from '../../types';
10
+ import { type ChatBoxRuntime } from '../stores/runtime';
10
11
  type StorageBasicInfo = {
11
12
  rules?: Record<string, unknown>;
12
13
  [key: string]: unknown;
@@ -18,6 +19,9 @@ type UploadRequestOptions = {
18
19
  filename: string;
19
20
  headers?: Record<string, string>;
20
21
  onError: (error: Error) => void;
22
+ onProgress?: (event: {
23
+ percent: number;
24
+ }) => void;
21
25
  onSuccess: (body: unknown, file: Blob) => void;
22
26
  withCredentials?: boolean;
23
27
  };
@@ -35,12 +39,18 @@ export declare function useStorageUploadProps(props: Record<string, unknown>, st
35
39
  rules: Record<string, unknown>;
36
40
  };
37
41
  export declare function useUploadProps(props: Record<string, unknown>): {
38
- customRequest({ action, data, file, filename, headers, onError, onSuccess, withCredentials, }: UploadRequestOptions): Promise<void>;
42
+ customRequest({ action, data, file, filename, headers, onError, onProgress, onSuccess, withCredentials, }: UploadRequestOptions): {
43
+ abort(): void;
44
+ };
39
45
  };
40
- export declare const useUploadFiles: () => {
46
+ export declare const useUploadFiles: (runtime?: ChatBoxRuntime) => {
47
+ beforeUpload: (file: import("antd/es/upload").RcFile, fileList: import("antd/es/upload").RcFile[]) => (string | boolean | void | File | Blob) | Promise<string | boolean | void | File | Blob>;
48
+ validateFiles: (files: unknown[], showMessage?: boolean) => boolean;
41
49
  rules: Record<string, unknown>;
42
50
  action: string;
43
51
  onChange({ fileList }: UploadChangeInfo): void;
44
- customRequest({ action, data, file, filename, headers, onError, onSuccess, withCredentials, }: UploadRequestOptions): Promise<void>;
52
+ customRequest({ action, data, file, filename, headers, onError, onProgress, onSuccess, withCredentials, }: UploadRequestOptions): {
53
+ abort(): void;
54
+ };
45
55
  };
46
56
  export {};
@@ -7,7 +7,8 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { WorkflowTask, WorkflowTaskDetail } from '../stores/workflow-tasks';
10
- export declare const useWorkflowTasks: () => {
10
+ import { type ChatBoxRuntime } from '../stores/runtime';
11
+ export declare const useWorkflowTasks: (runtime?: ChatBoxRuntime) => {
11
12
  loading: boolean;
12
13
  workflowTasks: WorkflowTask[];
13
14
  unreadCount: number;
@@ -22,6 +23,6 @@ export declare const useWorkflowTasks: () => {
22
23
  getWorkflowTaskBySession: (sessionId: string) => Promise<WorkflowTaskDetail>;
23
24
  updateReadonly: (sessionId: string) => Promise<void>;
24
25
  currentWorkflowTask: WorkflowTaskDetail;
25
- setCurrentWorkflowTask: (workflowTask: WorkflowTaskDetail | ((prev?: WorkflowTaskDetail) => WorkflowTaskDetail)) => void;
26
+ setCurrentWorkflowTask: (currentWorkflowTask: WorkflowTaskDetail | ((prev?: WorkflowTaskDetail) => WorkflowTaskDetail)) => void;
26
27
  setSelectedJobStatus: (selectedJobStatus: number) => void;
27
28
  };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export { Conversations } from './components/Conversations';
10
+ export { ChatBoxUnreadBadge } from './components/ChatBoxUnreadBadge';
11
+ export { Messages } from './components/Messages';
12
+ export { useChat } from './hooks/useChat';
13
+ export { useChatBoxActions } from './hooks/useChatBoxActions';
14
+ export { useChatConversationActions } from './hooks/useChatConversationActions';
15
+ export { useChatMessageActions } from './hooks/useChatMessageActions';
16
+ export { registerMountedChatBox } from './stores/mounted-chat-boxes';
17
+ export { useChatBoxRuntime } from './stores/runtime';
@@ -6,157 +6,6 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- /// <reference types="react" />
10
9
  import type { AIEmployee } from '../types';
11
- export declare const defaultRoles: Record<string, Omit<import("@ant-design/x").BubbleProps<import("@ant-design/x/es/bubble/interface").BubbleContentType> & {
12
- ref?: import("react").Ref<import("@ant-design/x/es/bubble/Bubble").BubbleRef>;
13
- }, "content" | "messageRender" | "loadingRender"> & {
14
- nickname?: string;
15
- content?: {
16
- content: unknown;
17
- ref?: import("react").MutableRefObject<unknown>;
18
- type?: import("../types").MessageType;
19
- messageId?: string;
20
- attachments?: import("../types").Attachment[];
21
- workContext?: import("../types").ContextItem[];
22
- tool_calls?: import("../types").ToolCall<unknown>[];
23
- metadata?: {
24
- model: string;
25
- provider: string;
26
- llmService?: string;
27
- usage_metadata?: {
28
- input_tokens: number;
29
- output_tokens: number;
30
- total_tokens: number;
31
- };
32
- autoCallTools?: string[];
33
- };
34
- reference?: {
35
- title: string;
36
- url: string;
37
- }[];
38
- reasoning?: {
39
- status: string;
40
- content: string;
41
- };
42
- subAgentConversations?: {
43
- sessionId: string;
44
- toolCallId?: string;
45
- status?: "completed" | "pending";
46
- messages: import("../types").Message[];
47
- }[];
48
- from?: "main-agent" | "sub-agent";
49
- };
50
- messageRender?: (content: {
51
- content: unknown;
52
- ref?: import("react").MutableRefObject<unknown>;
53
- type?: import("../types").MessageType;
54
- messageId?: string;
55
- attachments?: import("../types").Attachment[];
56
- workContext?: import("../types").ContextItem[];
57
- tool_calls?: import("../types").ToolCall<unknown>[];
58
- metadata?: {
59
- model: string;
60
- provider: string;
61
- llmService?: string;
62
- usage_metadata?: {
63
- input_tokens: number;
64
- output_tokens: number;
65
- total_tokens: number;
66
- };
67
- autoCallTools?: string[];
68
- };
69
- reference?: {
70
- title: string;
71
- url: string;
72
- }[];
73
- reasoning?: {
74
- status: string;
75
- content: string;
76
- };
77
- subAgentConversations?: {
78
- sessionId: string;
79
- toolCallId?: string;
80
- status?: "completed" | "pending";
81
- messages: import("../types").Message[];
82
- }[];
83
- from?: "main-agent" | "sub-agent";
84
- }) => import("react").ReactNode;
85
- loadingRender?: () => import("react").ReactNode;
86
- }>;
87
- export declare const aiEmployeeRole: (aiEmployee: AIEmployee) => Omit<import("@ant-design/x").BubbleProps<import("@ant-design/x/es/bubble/interface").BubbleContentType> & {
88
- ref?: import("react").Ref<import("@ant-design/x/es/bubble/Bubble").BubbleRef>;
89
- }, "content" | "messageRender" | "loadingRender"> & {
90
- nickname?: string;
91
- content?: {
92
- content: unknown;
93
- ref?: import("react").MutableRefObject<unknown>;
94
- type?: import("../types").MessageType;
95
- messageId?: string;
96
- attachments?: import("../types").Attachment[];
97
- workContext?: import("../types").ContextItem[];
98
- tool_calls?: import("../types").ToolCall<unknown>[];
99
- metadata?: {
100
- model: string;
101
- provider: string;
102
- llmService?: string;
103
- usage_metadata?: {
104
- input_tokens: number;
105
- output_tokens: number;
106
- total_tokens: number;
107
- };
108
- autoCallTools?: string[];
109
- };
110
- reference?: {
111
- title: string;
112
- url: string;
113
- }[];
114
- reasoning?: {
115
- status: string;
116
- content: string;
117
- };
118
- subAgentConversations?: {
119
- sessionId: string;
120
- toolCallId?: string;
121
- status?: "completed" | "pending";
122
- messages: import("../types").Message[];
123
- }[];
124
- from?: "main-agent" | "sub-agent";
125
- };
126
- messageRender?: (content: {
127
- content: unknown;
128
- ref?: import("react").MutableRefObject<unknown>;
129
- type?: import("../types").MessageType;
130
- messageId?: string;
131
- attachments?: import("../types").Attachment[];
132
- workContext?: import("../types").ContextItem[];
133
- tool_calls?: import("../types").ToolCall<unknown>[];
134
- metadata?: {
135
- model: string;
136
- provider: string;
137
- llmService?: string;
138
- usage_metadata?: {
139
- input_tokens: number;
140
- output_tokens: number;
141
- total_tokens: number;
142
- };
143
- autoCallTools?: string[];
144
- };
145
- reference?: {
146
- title: string;
147
- url: string;
148
- }[];
149
- reasoning?: {
150
- status: string;
151
- content: string;
152
- };
153
- subAgentConversations?: {
154
- sessionId: string;
155
- toolCallId?: string;
156
- status?: "completed" | "pending";
157
- messages: import("../types").Message[];
158
- }[];
159
- from?: "main-agent" | "sub-agent";
160
- }) => import("react").ReactNode;
161
- loadingRender?: () => import("react").ReactNode;
162
- };
10
+ export declare const defaultRoles: Record<string, import("./components/MessageRenderers").ChatBubbleRole>;
11
+ export declare const aiEmployeeRole: (aiEmployee: AIEmployee) => import("./components/MessageRenderers").ChatBubbleRole;
@@ -7,59 +7,72 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  /// <reference types="react" />
10
- import type { Bubble, Sender } from '@ant-design/x';
11
- import type { GetProp, GetRef } from 'antd';
10
+ import type { Sender } from '@ant-design/x';
11
+ import type { GetRef } from 'antd';
12
12
  import type { AIEmployee } from '../../types';
13
- type RolesType = GetProp<typeof Bubble.List, 'roles'>;
13
+ import type { ChatBubbleRole } from '../components/MessageRenderers';
14
+ import type { ChatSenderModel } from './chat-sender';
15
+ type RoleMap = Record<string, ChatBubbleRole>;
16
+ type ChatBoxTaskVariables = {
17
+ variables?: Record<string, unknown>;
18
+ localVariables?: Record<string, unknown>;
19
+ };
14
20
  export interface ModelRef {
15
21
  llmService: string;
16
22
  model: string;
17
23
  }
18
- interface ChatBoxState {
24
+ export declare class ChatBoxModel {
25
+ private senderModel?;
26
+ legacySenderValue: string;
27
+ legacySenderPlaceholder: string;
28
+ legacyIsEditingMessage: boolean;
29
+ legacyEditingMessageId: string | null | undefined;
30
+ legacySenderRef: React.MutableRefObject<GetRef<typeof Sender> | null> | null;
31
+ legacyIsShowSenderHint: boolean;
19
32
  open: boolean;
20
33
  expanded: boolean;
21
34
  collapsed: boolean;
22
35
  showConversations: boolean;
23
36
  minimize: boolean;
24
- currentEmployee?: AIEmployee;
25
- senderValue: string;
26
- senderPlaceholder: string;
27
- roles: GetProp<typeof Bubble.List, 'roles'>;
28
- taskVariables: {
29
- variables?: Record<string, unknown>;
30
- localVariables?: Record<string, unknown>;
31
- };
32
- isEditingMessage: boolean;
33
- editingMessageId?: string;
34
- chatBoxRef: React.MutableRefObject<HTMLDivElement> | null;
35
- senderRef: React.MutableRefObject<GetRef<typeof Sender>> | null;
37
+ currentEmployee: AIEmployee | null | undefined;
38
+ roles: RoleMap;
39
+ taskVariables: ChatBoxTaskVariables;
40
+ chatBoxRef: React.MutableRefObject<HTMLDivElement | null> | null;
36
41
  showCodeHistory: boolean;
37
- model?: ModelRef | null;
38
- showDebugPanel: boolean;
42
+ model: ModelRef | null | undefined;
39
43
  readonly: boolean;
40
- isShowSenderHint: boolean;
41
- }
42
- interface ChatBoxActions {
44
+ constructor();
45
+ get senderValue(): string;
46
+ set senderValue(value: string);
47
+ get senderPlaceholder(): string;
48
+ set senderPlaceholder(placeholder: string);
49
+ get isEditingMessage(): boolean;
50
+ set isEditingMessage(isEditing: boolean);
51
+ get editingMessageId(): string | null | undefined;
52
+ set editingMessageId(id: string | null | undefined);
53
+ get senderRef(): React.MutableRefObject<GetRef<typeof Sender> | null> | null;
54
+ set senderRef(ref: React.MutableRefObject<GetRef<typeof Sender> | null> | null);
55
+ get isShowSenderHint(): boolean;
56
+ set isShowSenderHint(isShowSenderHint: boolean);
57
+ attachSenderModel: (senderModel: ChatSenderModel) => void;
43
58
  setOpen: (open: boolean) => void;
44
59
  setExpanded: (expanded: boolean) => void;
45
60
  setCollapsed: (collapsed: boolean) => void;
46
61
  setShowConversations: (show: boolean) => void;
47
- setMinimize: (minus: boolean) => void;
48
- setCurrentEmployee: (aiEmployee?: AIEmployee | ((prev: AIEmployee) => AIEmployee)) => void;
62
+ setMinimize: (minimize: boolean) => void;
63
+ setCurrentEmployee: (employee?: AIEmployee | ((prev: AIEmployee | null | undefined) => AIEmployee | null | undefined)) => void;
49
64
  setSenderValue: (value: string) => void;
50
65
  setSenderPlaceholder: (placeholder: string) => void;
51
- setTaskVariables: (variables: ChatBoxState['taskVariables']) => void;
52
- setRoles: (roles: RolesType | ((prev: RolesType) => RolesType)) => void;
53
- addRole: (name: string, role: unknown) => void;
66
+ setTaskVariables: (variables: ChatBoxTaskVariables) => void;
67
+ setRoles: (roles: RoleMap | ((prev: RoleMap) => RoleMap)) => void;
68
+ addRole: (name: string, role: RoleMap[string]) => void;
54
69
  setIsEditingMessage: (isEditing: boolean) => void;
55
- setEditingMessageId: (id?: string) => void;
56
- setChatBoxRef: (ref: React.MutableRefObject<HTMLDivElement> | null) => void;
57
- setSenderRef: (ref: React.MutableRefObject<GetRef<typeof Sender>> | null) => void;
70
+ setEditingMessageId: (id?: string | null) => void;
71
+ setChatBoxRef: (ref: React.MutableRefObject<HTMLDivElement | null> | null) => void;
72
+ setSenderRef: (ref: React.MutableRefObject<GetRef<typeof Sender> | null> | null) => void;
58
73
  setShowCodeHistory: (show: boolean) => void;
59
- setModel: (model: ModelRef | null) => void;
60
- setShowDebugPanel: (show: boolean) => void;
74
+ setModel: (model: ModelRef | null | undefined) => void;
61
75
  setReadonly: (readonly: boolean) => void;
62
- setShowSenderHint: (show: boolean) => void;
76
+ setShowSenderHint: (isShowSenderHint: boolean) => void;
63
77
  }
64
- export declare const useChatBoxStore: import("./create-selectors").ObservableStore<ChatBoxState & ChatBoxActions>;
65
78
  export {};
@@ -7,22 +7,22 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import type { Conversation } from '../../types';
10
- interface ChatConversationsState {
11
- currentConversation?: string;
10
+ type ChatConversationStateUpdater<T> = T | ((prev: T) => T);
11
+ export declare class ChatConversationModel {
12
+ currentConversation: string | undefined;
12
13
  conversations: Conversation[];
13
14
  keyword: string;
14
15
  webSearch: boolean;
15
16
  conversationSegmented: string;
16
17
  unreadCount: number;
17
- }
18
- interface ChatConversationsActions {
18
+ constructor();
19
19
  setCurrentConversation: (id: string | undefined) => void;
20
20
  setKeyword: (keyword: string) => void;
21
- setConversations: (conversations: Conversation[] | ((prev: Conversation[]) => Conversation[])) => void;
21
+ setConversations: (conversations: ChatConversationStateUpdater<Conversation[]>) => void;
22
+ setConversationRead: (sessionId: string, read: boolean) => void;
22
23
  markConversationRead: (sessionId: string) => void;
23
24
  setWebSearch: (webSearch: boolean) => void;
24
25
  setConversationSegmented: (conversationSegmented: string) => void;
25
- setUnreadCount: (unreadCount: number | ((prev: number) => number)) => void;
26
+ setUnreadCount: (unreadCount: ChatConversationStateUpdater<number>) => void;
26
27
  }
27
- export declare const useChatConversationsStore: import("./create-selectors").ObservableStore<ChatConversationsState & ChatConversationsActions>;
28
28
  export {};
@@ -21,38 +21,44 @@ export type ChatSessionState = {
21
21
  contextItems: ContextItem[];
22
22
  systemMessage: string;
23
23
  responseLoading: boolean;
24
- abortController?: AbortController;
25
- skillSettings?: SkillSettings;
26
- webSearching?: WebSearching;
24
+ abortController?: AbortController | null;
25
+ skillSettings?: SkillSettings | null;
26
+ webSearching?: WebSearching | null;
27
27
  backgroundWorking: boolean;
28
28
  resumeStreamFailed: boolean;
29
29
  };
30
30
  export declare const CHAT_EMPTY_SESSION_STATE: ChatSessionState;
31
- type ChatMessagesState = {
32
- sessions: Record<string, ChatSessionState>;
33
- editorRef?: Record<string, ChatEditorRef | null>;
34
- currentEditorRefUid?: string;
35
- flowContext?: unknown;
36
- };
37
31
  type SessionStateUpdater<T> = T | ((prev: T) => T);
38
- export interface ChatMessagesActions {
32
+ export declare class ChatMessageModel {
33
+ sessions: Record<string, ChatSessionState>;
34
+ editorRef: Record<string, ChatEditorRef | null>;
35
+ currentEditorRefUid: string | null | undefined;
36
+ flowContext: unknown;
37
+ constructor();
38
+ private resolveSessionState;
39
+ private ensureSessionState;
40
+ private updateSessionState;
39
41
  setEditorRef: (uid: string, editorRef: ChatEditorRef | null) => void;
40
- setCurrentEditorRefUid: (uid: string) => void;
41
- setFlowContext: (ctx: unknown) => void;
42
+ unregisterEditorRef: (uid: string, editorRef: ChatEditorRef) => void;
43
+ setCurrentEditorRefUid: (uid: string | null | undefined) => void;
44
+ setFlowContext: (flowContext: unknown) => void;
42
45
  getSessionState: (sessionId?: string) => ChatSessionState;
43
46
  resetSessionState: (sessionId?: string, patch?: Partial<ChatSessionState>) => void;
44
47
  migrateSessionState: (fromSessionId: string | undefined, toSessionId: string) => void;
45
48
  setSessionMessages: (sessionId: string | undefined, messages: SessionStateUpdater<Message[]>) => void;
46
49
  setSessionMessagesLoading: (sessionId: string | undefined, loading: boolean) => void;
47
50
  setSessionMessagesError: (sessionId: string | undefined, error: unknown) => void;
48
- setSessionMessagesMeta: (sessionId: string | undefined, meta: ChatSessionState['messagesMeta'] | ((prev: ChatSessionState['messagesMeta']) => ChatSessionState['messagesMeta'])) => void;
51
+ setSessionMessagesMeta: (sessionId: string | undefined, meta: {
52
+ cursor?: string;
53
+ hasMore?: boolean;
54
+ } | ((prev: ChatSessionState['messagesMeta']) => ChatSessionState['messagesMeta'])) => void;
49
55
  setSessionAttachments: (sessionId: string | undefined, attachments: SessionStateUpdater<Attachment[]>) => void;
50
56
  setSessionContextItems: (sessionId: string | undefined, items: SessionStateUpdater<ContextItem[]>) => void;
51
57
  setSessionSystemMessage: (sessionId: string | undefined, msg: string | ((prev: string) => string)) => void;
52
58
  setSessionResponseLoading: (sessionId: string | undefined, loading: boolean) => void;
53
59
  setSessionBackgroundWorking: (sessionId: string | undefined, backgroundWorking: boolean) => void;
54
60
  setSessionResumeStreamFailed: (sessionId: string | undefined, resumeStreamFailed: boolean) => void;
55
- addSessionMessage: (sessionId: string | undefined, msg: Message) => void;
61
+ addSessionMessage: (sessionId: string | undefined, message: Message) => void;
56
62
  addSessionMessages: (sessionId: string | undefined, msgs: Message[]) => void;
57
63
  updateSessionLastMessage: (sessionId: string | undefined, updater: (msg: Message) => Message) => void;
58
64
  removeSessionMessage: (sessionId: string | undefined, key: string) => void;
@@ -61,13 +67,12 @@ export interface ChatMessagesActions {
61
67
  addSessionContextItems: (sessionId: string | undefined, items: ContextItem | ContextItem[]) => void;
62
68
  addContextItems: (items: ContextItem | ContextItem[]) => void;
63
69
  removeSessionContextItem: (sessionId: string | undefined, type: string, uid: string) => void;
64
- setSessionAbortController: (sessionId: string | undefined, controller: AbortController | undefined) => void;
65
- setSessionSkillSettings: (sessionId: string | undefined, settings: SkillSettings | undefined) => void;
66
- setSessionWebSearching: (sessionId: string | undefined, webSearching: WebSearching) => void;
70
+ setSessionAbortController: (sessionId: string | undefined, controller: AbortController | undefined | null) => void;
71
+ setSessionSkillSettings: (sessionId: string | undefined, settings: SkillSettings | undefined | null) => void;
72
+ setSessionWebSearching: (sessionId: string | undefined, webSearching: WebSearching | null | undefined) => void;
67
73
  addSessionSubAgentMessage: (sessionId: string | undefined, subSessionId: string, msg: Message) => void;
68
74
  addSessionSubAgentMessages: (sessionId: string | undefined, subSessionId: string, msgs: Message[]) => void;
69
75
  updateSessionLastSubAgentMessage: (sessionId: string | undefined, subSessionId: string, username: string, updater: (msg: Message) => Message) => void;
70
76
  updateSessionSubAgentConversationStatus: (sessionId: string | undefined, subSessionId: string, status: 'pending' | 'completed') => void;
71
77
  }
72
- export declare const useChatMessagesStore: import("./create-selectors").ObservableStore<ChatMessagesState & ChatMessagesActions>;
73
78
  export {};
@@ -0,0 +1,43 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ /// <reference types="react" />
10
+ import type { Sender } from '@ant-design/x';
11
+ import type { GetRef } from 'antd';
12
+ import type { Attachment, ContextItem, SkillSettings } from '../../types';
13
+ export type ChatSenderRef = React.MutableRefObject<GetRef<typeof Sender> | null>;
14
+ type ChatSenderStateUpdater<T> = T | ((prev: T) => T);
15
+ export declare class ChatSenderModel {
16
+ senderValue: string;
17
+ senderPlaceholder: string;
18
+ senderRef: ChatSenderRef | null;
19
+ isShowSenderHint: boolean;
20
+ isEditingMessage: boolean;
21
+ editingMessageId: string | null | undefined;
22
+ attachments: Attachment[];
23
+ contextItems: ContextItem[];
24
+ systemMessage: string;
25
+ skillSettings: SkillSettings | null | undefined;
26
+ constructor();
27
+ setSenderValue: (value: string) => void;
28
+ setSenderPlaceholder: (placeholder: string) => void;
29
+ setSenderRef: (ref: ChatSenderRef | null) => void;
30
+ setShowSenderHint: (isShowSenderHint: boolean) => void;
31
+ setIsEditingMessage: (isEditing: boolean) => void;
32
+ setEditingMessageId: (id?: string | null) => void;
33
+ setAttachments: (attachments: ChatSenderStateUpdater<Attachment[]>) => void;
34
+ addAttachments: (attachments: Attachment | Attachment[]) => void;
35
+ removeAttachment: (filename: string) => void;
36
+ setContextItems: (items: ChatSenderStateUpdater<ContextItem[]>) => void;
37
+ addContextItems: (items: ContextItem | ContextItem[]) => void;
38
+ removeContextItem: (type: string, uid: string) => void;
39
+ setSystemMessage: (msg: string | ((prev: string) => string)) => void;
40
+ setSkillSettings: (settings: SkillSettings | null | undefined) => void;
41
+ reset: () => void;
42
+ }
43
+ export {};
@@ -14,17 +14,18 @@ export type ChatToolCallSessionState = {
14
14
  toolCalls: Record<string, ToolCallInvokeState[]>;
15
15
  };
16
16
  export declare const CHAT_EMPTY_TOOL_CALL_SESSION_STATE: ChatToolCallSessionState;
17
- type ChatToolCallState = {
17
+ export declare class ChatToolCallModel {
18
18
  sessions: Record<string, ChatToolCallSessionState>;
19
- };
20
- export interface ChatToolCallActions {
19
+ constructor();
20
+ private resolveSessionState;
21
+ private ensureSessionState;
22
+ private updateSessionState;
21
23
  getSessionState: (sessionId: string) => ChatToolCallSessionState;
22
24
  resetSessionState: (sessionId: string) => void;
23
25
  migrateSessionState: (fromSessionId: string, toSessionId: string) => void;
24
26
  updateToolCallInvokeStatus: (sessionId: string, messageId: string, toolCallId: string, invokeStatus: string) => void;
25
27
  isAllWaiting: (sessionId: string, messageId: string) => boolean;
26
28
  isInterrupted: (sessionId: string, messageId: string, toolCallId: string) => boolean;
27
- getInvokeStatus: (sessionId: string, messageId: string, toolCallId: string) => string | undefined;
29
+ getInvokeStatus: (sessionId: string, messageId: string, toolCallId: string) => string;
28
30
  }
29
- export declare const useChatToolCallStore: import("./create-selectors").ObservableStore<ChatToolCallState & ChatToolCallActions>;
30
31
  export {};
@@ -7,7 +7,7 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import type { Message, ToolCall } from '../../types';
10
- interface ChatToolsState {
10
+ type ChatToolsState = {
11
11
  toolsByName: Record<string, (ToolCall<unknown> & {
12
12
  messageId?: string;
13
13
  })[]>;
@@ -18,13 +18,19 @@ interface ChatToolsState {
18
18
  activeTool?: ToolCall<unknown>;
19
19
  activeMessageId?: string;
20
20
  adjustArgs?: Record<string, unknown>;
21
- }
22
- interface ChatToolsActions {
21
+ };
22
+ export declare class ChatToolModel {
23
+ toolsByName: ChatToolsState['toolsByName'];
24
+ toolsByMessageId: ChatToolsState['toolsByMessageId'];
25
+ openToolModal: boolean;
26
+ activeTool: ToolCall<unknown> | null | undefined;
27
+ activeMessageId: string;
28
+ adjustArgs: Record<string, unknown>;
29
+ constructor();
23
30
  updateTools: (messages: Message[]) => void;
24
31
  setOpenToolModal: (open: boolean) => void;
25
- setActiveTool: (tool: ToolCall<unknown>) => void;
32
+ setActiveTool: (tool: ToolCall<unknown> | null | undefined) => void;
26
33
  setActiveMessageId: (messageId: string) => void;
27
34
  setAdjustArgs: (args: Record<string, unknown>) => void;
28
35
  }
29
- export declare const useChatToolsStore: import("./create-selectors").ObservableStore<ChatToolsState & ChatToolsActions>;
30
36
  export {};
@@ -0,0 +1,20 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import type { ClearOptions, ContextItem, TriggerTaskOptions } from '../../types';
10
+ import type { ChatBoxRuntime } from './runtime';
11
+ export type MountedChatBoxEntry = {
12
+ uid: string;
13
+ runtime: ChatBoxRuntime;
14
+ triggerTask: (options: TriggerTaskOptions) => Promise<void>;
15
+ clear: (options?: ClearOptions, sessionId?: string | undefined) => void;
16
+ syncContextItems: (items: ContextItem[]) => void;
17
+ };
18
+ export declare const registerMountedChatBox: (entry: MountedChatBoxEntry) => () => void;
19
+ export declare const getMountedChatBox: (uid: string) => MountedChatBoxEntry;
20
+ export declare const clearMountedChatBoxes: () => void;