@nocobase/plugin-ai 2.2.0-beta.9 → 2.2.1

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 (662) hide show
  1. package/client-v2.d.ts +1 -0
  2. package/dist/ai/docs/nocobase/ai-dev/watermark-plugin.md +2 -0
  3. package/dist/ai/docs/nocobase/ai-employees/block/ai-chat-box.md +133 -0
  4. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/documents.md +1 -1
  5. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/index.md +11 -7
  6. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/settings.md +12 -8
  7. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/rag.md +43 -13
  8. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-database.md +3 -3
  9. package/dist/ai/docs/nocobase/ai-employees/scenarios/company-background-research.md +125 -0
  10. package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/create-document.md +1 -1
  11. package/dist/ai/docs/nocobase/api/app/env.md +2 -0
  12. package/dist/ai/docs/nocobase/api/cli/api/resource/create.md +4 -3
  13. package/dist/ai/docs/nocobase/building-tips/ai-fill-js-block-form.md +1092 -0
  14. package/dist/ai/docs/nocobase/building-tips/operations-dashboard.md +513 -0
  15. package/dist/ai/docs/nocobase/data-sources/calendar/calendar-collection.md +100 -3
  16. package/dist/ai/docs/nocobase/data-sources/collection-comment/index.md +92 -39
  17. package/dist/ai/docs/nocobase/data-sources/collection-sql/index.md +150 -29
  18. package/dist/ai/docs/nocobase/data-sources/collection-tree/index.md +93 -5
  19. package/dist/ai/docs/nocobase/data-sources/collection-view/index.md +226 -4
  20. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/china-region.md +122 -5
  21. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/collection-select.md +105 -4
  22. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/json.md +102 -4
  23. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/nano-id.md +104 -4
  24. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/snowflake-id.md +108 -4
  25. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/sort.md +3 -19
  26. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/uuid.md +104 -4
  27. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/index.md +44 -8
  28. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/color.md +102 -4
  29. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/email.md +104 -4
  30. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/icon.md +102 -4
  31. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/input.md +112 -8
  32. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/integer.md +103 -4
  33. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/number.md +103 -4
  34. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/password.md +102 -4
  35. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/percent.md +104 -5
  36. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/phone.md +104 -4
  37. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/textarea.md +99 -8
  38. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/url.md +103 -4
  39. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox-group.md +105 -3
  40. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox.md +102 -4
  41. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/china-region.md +108 -5
  42. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/multiple-select.md +103 -5
  43. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/radio-group.md +106 -4
  44. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/select.md +103 -5
  45. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/date.md +102 -4
  46. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime-without-tz.md +103 -5
  47. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime.md +103 -5
  48. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/index.md +53 -47
  49. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/time.md +102 -4
  50. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/unix-timestamp.md +103 -5
  51. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/circle.md +102 -4
  52. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/line.md +103 -5
  53. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/point.md +102 -4
  54. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/polygon.md +102 -4
  55. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/index.md +62 -16
  56. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/markdown.md +104 -4
  57. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/rich-text.md +105 -5
  58. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-at.md +105 -5
  59. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-by.md +103 -5
  60. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/space.md +100 -6
  61. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/table-oid.md +102 -4
  62. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-at.md +104 -5
  63. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-by.md +104 -6
  64. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/validation.md +68 -58
  65. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection.md +32 -13
  66. package/dist/ai/docs/nocobase/data-sources/data-modeling/index.md +41 -33
  67. package/dist/ai/docs/nocobase/data-sources/data-source-external-mariadb/index.md +114 -6
  68. package/dist/ai/docs/nocobase/data-sources/data-source-external-mssql/index.md +117 -6
  69. package/dist/ai/docs/nocobase/data-sources/data-source-external-mysql/index.md +103 -6
  70. package/dist/ai/docs/nocobase/data-sources/data-source-external-nocobase/index.md +75 -73
  71. package/dist/ai/docs/nocobase/data-sources/data-source-external-oracle/index.md +129 -11
  72. package/dist/ai/docs/nocobase/data-sources/data-source-external-postgres/index.md +110 -6
  73. package/dist/ai/docs/nocobase/data-sources/data-source-kingbase/index.md +75 -49
  74. package/dist/ai/docs/nocobase/data-sources/data-source-main/general-collection.md +116 -15
  75. package/dist/ai/docs/nocobase/data-sources/data-source-main/index.md +92 -62
  76. package/dist/ai/docs/nocobase/data-sources/data-source-main/inheritance-collection.md +97 -10
  77. package/dist/ai/docs/nocobase/data-sources/data-source-manager/external-database.md +97 -58
  78. package/dist/ai/docs/nocobase/data-sources/data-source-manager/index.md +32 -24
  79. package/dist/ai/docs/nocobase/data-sources/data-source-rest-api/index.md +115 -153
  80. package/dist/ai/docs/nocobase/data-sources/external/clickhouse.md +124 -0
  81. package/dist/ai/docs/nocobase/data-sources/external/doris.md +130 -0
  82. package/dist/ai/docs/nocobase/data-sources/external/index.md +140 -0
  83. package/dist/ai/docs/nocobase/data-sources/external/kingbase.md +129 -0
  84. package/dist/ai/docs/nocobase/data-sources/external/mariadb.md +126 -0
  85. package/dist/ai/docs/nocobase/data-sources/external/mssql.md +129 -0
  86. package/dist/ai/docs/nocobase/data-sources/external/mysql.md +115 -0
  87. package/dist/ai/docs/nocobase/data-sources/external/nocobase.md +159 -0
  88. package/dist/ai/docs/nocobase/data-sources/external/oceanbase.md +126 -0
  89. package/dist/ai/docs/nocobase/data-sources/external/oracle.md +158 -0
  90. package/dist/ai/docs/nocobase/data-sources/external/postgresql.md +122 -0
  91. package/dist/ai/docs/nocobase/data-sources/external/rest-api.md +245 -0
  92. package/dist/ai/docs/nocobase/data-sources/field-attachment-url/index.md +100 -12
  93. package/dist/ai/docs/nocobase/data-sources/field-encryption/index.md +48 -47
  94. package/dist/ai/docs/nocobase/data-sources/field-formula/index.md +99 -5
  95. package/dist/ai/docs/nocobase/data-sources/field-markdown-vditor/index.md +105 -5
  96. package/dist/ai/docs/nocobase/data-sources/field-sequence/index.md +102 -5
  97. package/dist/ai/docs/nocobase/data-sources/field-signature/index.md +18 -16
  98. package/dist/ai/docs/nocobase/data-sources/field-sort/index.md +76 -73
  99. package/dist/ai/docs/nocobase/data-sources/file-manager/field-attachment.md +101 -7
  100. package/dist/ai/docs/nocobase/data-sources/file-manager/file-collection.md +101 -14
  101. package/dist/ai/docs/nocobase/data-sources/index.md +49 -33
  102. package/dist/ai/docs/nocobase/data-sources/main/index.md +130 -0
  103. package/dist/ai/docs/nocobase/data-sources/main/kingbase.md +147 -0
  104. package/dist/ai/docs/nocobase/data-sources/main/mariadb.md +59 -0
  105. package/dist/ai/docs/nocobase/data-sources/main/mysql.md +59 -0
  106. package/dist/ai/docs/nocobase/data-sources/main/oceanbase.md +62 -0
  107. package/dist/ai/docs/nocobase/data-sources/main/postgresql.md +61 -0
  108. package/dist/ai/docs/nocobase/file-manager/file-preview/index.md +44 -3
  109. package/dist/ai/docs/nocobase/file-manager/stable-url.md +87 -0
  110. package/dist/ai/docs/nocobase/file-manager/storage/aliyun-oss.md +100 -3
  111. package/dist/ai/docs/nocobase/file-manager/storage/index.md +66 -26
  112. package/dist/ai/docs/nocobase/file-manager/storage/local.md +3 -1
  113. package/dist/ai/docs/nocobase/file-manager/storage/s3-pro.md +58 -7
  114. package/dist/ai/docs/nocobase/get-started/deployment/production.md +24 -2
  115. package/dist/ai/docs/nocobase/get-started/installation/docker-caddy.mdx +3 -0
  116. package/dist/ai/docs/nocobase/get-started/installation/docker-nginx.mdx +3 -0
  117. package/dist/ai/docs/nocobase/get-started/installation/docker.mdx +27 -3
  118. package/dist/ai/docs/nocobase/get-started/installation/env.md +34 -1
  119. package/dist/ai/docs/nocobase/index.md +1 -1
  120. package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/comment.md +107 -0
  121. package/dist/ai/docs/nocobase/interface-builder/index.md +7 -6
  122. package/dist/ai/docs/nocobase/interface-builder/ui-layout/desktop.md +97 -0
  123. package/dist/ai/docs/nocobase/interface-builder/ui-layout/index.md +50 -0
  124. package/dist/ai/docs/nocobase/interface-builder/ui-layout/mobile.md +133 -0
  125. package/dist/ai/docs/nocobase/multi-app/multi-app-vs-multi-portal-vs-multi-space.md +159 -0
  126. package/dist/ai/docs/nocobase/multi-app/multi-portal/index.md +195 -0
  127. package/dist/ai/docs/nocobase/nocobase-cli/production/index.md +10 -0
  128. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/caddy.md +15 -2
  129. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/index.md +1 -1
  130. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/nginx.md +16 -2
  131. package/dist/ai/docs/nocobase/ops-management/migration-manager/built-in-tables.md +1 -2
  132. package/dist/ai/docs/nocobase/plugin-development/build.md +10 -4
  133. package/dist/ai/docs/nocobase/plugin-development/client/appendix/faq.md +1 -1
  134. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-action.md +2 -0
  135. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-block.md +2 -0
  136. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-field.md +2 -0
  137. package/dist/ai/docs/nocobase/plugin-development/client/examples/fullstack-plugin.md +2 -0
  138. package/dist/ai/docs/nocobase/plugin-development/client/examples/settings-page.md +2 -0
  139. package/dist/ai/docs/nocobase/plugin-development/common/i18n.md +3 -3
  140. package/dist/ai/docs/nocobase/plugin-development/server/cache.md +1 -1
  141. package/dist/ai/docs/nocobase/plugin-development/server/collections.md +0 -6
  142. package/dist/ai/docs/nocobase/plugin-development/server/command.md +2 -2
  143. package/dist/ai/docs/nocobase/plugin-development/server/context.md +2 -2
  144. package/dist/ai/docs/nocobase/plugin-development/server/i18n.md +4 -4
  145. package/dist/ai/docs/nocobase/plugin-development/write-your-first-plugin.md +91 -43
  146. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-comment/index.md +14 -0
  147. package/dist/ai/docs/nocobase/runjs/context/ai.md +396 -0
  148. package/dist/ai/docs/nocobase/security/guide.md +23 -0
  149. package/dist/ai/docs/nocobase/tutorials/index.md +20 -1
  150. package/dist/ai/docs/nocobase/users-permissions/sync/index.md +8 -1
  151. package/dist/ai/docs/nocobase/users-permissions/sync/sources/dingtalk.md +138 -0
  152. package/dist/ai/docs/nocobase/users-permissions/sync/sources/ldap.md +87 -0
  153. package/dist/ai/docs/nocobase/workflow/development/api.md +259 -77
  154. package/dist/ai/docs/nocobase/workflow/development/index.md +2 -1
  155. package/dist/ai/docs/nocobase/workflow/development/migration.md +319 -0
  156. package/dist/ai/docs/nocobase/workflow/development/node.md +84 -51
  157. package/dist/ai/docs/nocobase/workflow/development/trigger.md +122 -20
  158. package/dist/ai/docs/nocobase/workflow/nodes/javascript.md +21 -1
  159. package/dist/ai/tools/executeFrontendTool.d.ts +10 -0
  160. package/dist/ai/tools/executeFrontendTool.js +86 -0
  161. package/dist/ai/tools/formFiller.js +4 -3
  162. package/dist/ai/tools/getSkill.js +1 -1
  163. package/dist/ai/tools/knowledge-base-retrieve.js +3 -1
  164. package/dist/ai/tools/loadFrontendTool.d.ts +10 -0
  165. package/dist/ai/tools/loadFrontendTool.js +99 -0
  166. package/dist/ai/tools/subAgentWebSearch.js +20 -15
  167. package/dist/client/23.65ea8c37cd4b884b.js +10 -0
  168. package/dist/client/244.28ee769f796b7c2f.js +10 -0
  169. package/dist/client/264.cc98933ef65608b6.js +10 -0
  170. package/dist/client/336.7a8a8853196ad779.js +11 -0
  171. package/dist/client/416.92b74ca47e4099c4.js +10 -0
  172. package/dist/client/446.d63c38d0309fe250.js +10 -0
  173. package/dist/client/525.94dd4136c1361477.js +10 -0
  174. package/dist/client/663.680bcf6272a8504d.js +10 -0
  175. package/dist/client/681.6ffbc9329b9ac242.js +10 -0
  176. package/dist/client/705.a4fe26945d175e8a.js +10 -0
  177. package/dist/client/ai-employees/1.x/selector/AIContextCollector.d.ts +1 -4
  178. package/dist/client/ai-employees/permissions/PermissionsTab.d.ts +21 -5
  179. package/dist/client/index.d.ts +13 -20
  180. package/dist/client/index.js +8 -8
  181. package/dist/client/workflow/nodes/employee/index.d.ts +2 -23
  182. package/dist/client/workflow/nodes/llm/index.d.ts +2 -52
  183. package/dist/client/workflow/triggers/ai-employee/index.d.ts +2 -83
  184. package/dist/client-v2/23.1bcb6986b40723d8.js +10 -0
  185. package/dist/client-v2/244.39348a95d627d9e3.js +10 -0
  186. package/dist/client-v2/264.be92ff6a4d2612f1.js +10 -0
  187. package/dist/client-v2/336.e406470429e0670e.js +11 -0
  188. package/dist/client-v2/416.0e1c2d9cde43b83d.js +10 -0
  189. package/dist/client-v2/420.a5b929a5e7f330be.js +10 -0
  190. package/dist/client-v2/446.073d450882db29fd.js +10 -0
  191. package/dist/client-v2/457.d72febb89e88fc00.js +10 -0
  192. package/dist/client-v2/663.342341f0b2b412d8.js +10 -0
  193. package/dist/client-v2/681.6890caa389564ff7.js +10 -0
  194. package/dist/client-v2/705.f2e1b26a3f000075.js +10 -0
  195. package/dist/{client/ai-employees/admin/AvatarSelect.d.ts → client-v2/ai-employees/AIEmployeeDropdown.d.ts} +8 -9
  196. package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +11 -2
  197. package/dist/{client → client-v2}/ai-employees/AddContextButton.d.ts +3 -1
  198. package/dist/{client → client-v2}/ai-employees/ai-coding/AICodingButton.d.ts +2 -1
  199. package/dist/{client/ai-employees/chatbox/AIEmployeeSwitch.d.ts → client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts} +1 -0
  200. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Actions.d.ts +2 -4
  201. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/AddLLMModal.d.ts +2 -4
  202. package/dist/client-v2/ai-employees/chatbox/components/Attachments.d.ts +27 -0
  203. package/dist/{client/ai-employees/permissions/Permissions.d.ts → client-v2/ai-employees/chatbox/components/ChatBox.d.ts} +2 -2
  204. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatBoxLayout.d.ts +1 -1
  205. package/dist/{client/ai-employees/chatbox/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/ChatBoxUnreadBadge.d.ts} +6 -7
  206. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ContextItem.d.ts +1 -1
  207. package/dist/client-v2/ai-employees/chatbox/components/Conversations.d.ts +18 -0
  208. package/dist/{client/ai-employees/ai-coding/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/Markdown.d.ts} +12 -3
  209. package/dist/{client/ai-employees/1.x/selector/BlockSelector.d.ts → client-v2/ai-employees/chatbox/components/MessageContent.d.ts} +3 -4
  210. package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +39 -0
  211. package/dist/{client/ai-employees/admin/datasource/components/DatasourceSettingDetail.d.ts → client-v2/ai-employees/chatbox/components/Messages.d.ts} +4 -4
  212. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ModelSwitcher.d.ts +4 -0
  213. package/dist/client-v2/ai-employees/chatbox/components/Sender.d.ts +42 -0
  214. package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolCard.d.ts +7 -5
  215. package/dist/client-v2/ai-employees/chatbox/components/index.d.ts +14 -0
  216. package/dist/client-v2/ai-employees/chatbox/hooks/reasoning-stream.d.ts +10 -0
  217. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChat.d.ts +29 -27
  218. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +5 -3
  219. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +2 -1
  220. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +5 -4
  221. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +12 -6
  222. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useToolCallActions.d.ts +4 -2
  223. package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +56 -0
  224. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +4 -3
  225. package/dist/client-v2/ai-employees/chatbox/index.d.ts +17 -0
  226. package/dist/{client → client-v2}/ai-employees/chatbox/model.d.ts +9 -2
  227. package/dist/client-v2/ai-employees/chatbox/roles.d.ts +11 -0
  228. package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +46 -81
  229. package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +8 -25
  230. package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +23 -63
  231. package/dist/client-v2/ai-employees/chatbox/stores/chat-sender.d.ts +43 -0
  232. package/dist/{client → client-v2}/ai-employees/chatbox/stores/chat-tool-call.d.ts +6 -19
  233. package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +36 -0
  234. package/dist/client-v2/ai-employees/chatbox/stores/mounted-chat-boxes.d.ts +20 -0
  235. package/dist/client-v2/ai-employees/chatbox/stores/runtime.d.ts +43 -0
  236. package/dist/client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts +72 -0
  237. package/dist/client-v2/ai-employees/chatbox/upload.d.ts +19 -0
  238. package/dist/client-v2/ai-employees/chatbox/utils.d.ts +85 -0
  239. package/dist/{client/ai-employees/data-visualization/context.d.ts → client-v2/ai-employees/context/chart-config.d.ts} +1 -1
  240. package/dist/{client → client-v2}/ai-employees/context/code-editor.d.ts +1 -1
  241. package/dist/{client → client-v2}/ai-employees/context/datasource.d.ts +1 -1
  242. package/dist/{client → client-v2}/ai-employees/context/flow-models.d.ts +1 -1
  243. package/dist/client-v2/ai-employees/data-modeling/setup.d.ts +15 -0
  244. package/dist/{client → client-v2}/ai-employees/datasource/DatasourceSelector.d.ts +6 -2
  245. package/dist/{client/ai-employees/admin/datasource/flow-models/DatasourceSettingModel.d.ts → client-v2/ai-employees/flow/index.d.ts} +4 -6
  246. package/dist/{client → client-v2}/ai-employees/form-filler/tools/index.d.ts +1 -1
  247. package/dist/{client/ai-employees/ai-coding/tools/index.d.ts → client-v2/ai-employees/frontend-tools.d.ts} +3 -3
  248. package/dist/{client → client-v2}/ai-employees/stores/ai-selection.d.ts +4 -4
  249. package/dist/{client → client-v2}/ai-employees/stores/dialog-controller.d.ts +4 -4
  250. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportCard.d.ts +2 -2
  251. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportModal.d.ts +2 -2
  252. package/dist/{client/ai-employees/1.x/selector/withAISelectable.d.ts → client-v2/ai-employees/tools/ChartGeneratorCard.d.ts} +5 -4
  253. package/dist/{client/ai-employees/ai-coding/ui → client-v2/ai-employees/tools}/CodeToolCard.d.ts +1 -1
  254. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingCard.d.ts +3 -5
  255. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingModal.d.ts +4 -6
  256. package/dist/{client/ai-employees/sub-agents/ui → client-v2/ai-employees/tools}/SubAgentDispatchCard.d.ts +4 -9
  257. package/dist/client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts +16 -0
  258. package/dist/client-v2/ai-employees/tools/WorkflowTaskOutputCard.d.ts +16 -0
  259. package/dist/{client/ai-employees/ai-coding/tools/context-tools.d.ts → client-v2/ai-employees/tools/ai-coding.d.ts} +3 -1
  260. package/dist/client-v2/ai-employees/tools/business-report-utils.d.ts +45 -0
  261. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/CollectionNode.d.ts +2 -3
  262. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Diagram.d.ts +1 -1
  263. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Table.d.ts +2 -2
  264. package/dist/client-v2/ai-employees/tools/data-modeling/legacy-template.d.ts +13 -0
  265. package/dist/client-v2/ai-employees/tools/data-modeling/runtime.d.ts +15 -0
  266. package/dist/{client/ai-employees → client-v2/ai-employees/tools}/data-modeling/types.d.ts +27 -4
  267. package/dist/client-v2/ai-employees/tools/data-modeling/useFieldInterfaceOptions.d.ts +151 -0
  268. package/dist/{client/ai-employees/data-visualization/tools/index.d.ts → client-v2/ai-employees/tools/data-visualization.d.ts} +1 -1
  269. package/dist/client-v2/ai-employees/tools/index.d.ts +32 -0
  270. package/dist/client-v2/ai-employees/types.d.ts +131 -7
  271. package/dist/client-v2/block/ai-chat-box/AIChatBoxBlockModel.d.ts +21 -0
  272. package/dist/{client/workflow/nodes/employee/flow-models/task.d.ts → client-v2/block/ai-chat-box/AIChatBoxCoreModel.d.ts} +1 -1
  273. package/dist/{client/admin-settings/AdminSettings.d.ts → client-v2/block/ai-chat-box/components/AIChatBoxCoreView.d.ts} +1 -1
  274. package/dist/{client/ai-employees/AIEmployeeListItem.d.ts → client-v2/block/ai-chat-box/components/AIChatBoxView.d.ts} +3 -5
  275. package/dist/client-v2/block/ai-chat-box/index.d.ts +14 -0
  276. package/dist/client-v2/block/ai-chat-box/settings.d.ts +12 -0
  277. package/dist/client-v2/block/ai-chat-box/sub-models.d.ts +26 -0
  278. package/dist/client-v2/block/ai-chat-box/types.d.ts +38 -0
  279. package/dist/client-v2/block/ai-chat-box/utils.d.ts +26 -0
  280. package/dist/client-v2/components/RemoteSelect.d.ts +43 -0
  281. package/dist/client-v2/f0053e745af0ad03.svg +50 -0
  282. package/dist/client-v2/index.d.ts +11 -12
  283. package/dist/client-v2/index.js +37 -1
  284. package/dist/client-v2/llm-providers/forms.d.ts +46 -0
  285. package/dist/client-v2/llm-providers/index.d.ts +25 -0
  286. package/dist/client-v2/llm-services/model-select.d.ts +33 -0
  287. package/dist/client-v2/llm-services/utils.d.ts +14 -0
  288. package/dist/client-v2/locale.d.ts +14 -0
  289. package/dist/client-v2/manager/ai-manager.d.ts +62 -0
  290. package/dist/client-v2/manager/frontend-tool-registry.d.ts +30 -0
  291. package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +36 -0
  292. package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +52 -0
  293. package/dist/client-v2/pages/AdminSettingsPage.d.ts +24 -0
  294. package/dist/client-v2/pages/DatasourceSettingsPage.d.ts +62 -0
  295. package/dist/client-v2/pages/EmployeesPage.d.ts +74 -0
  296. package/dist/client-v2/pages/LLMServicesPage.d.ts +80 -0
  297. package/dist/client-v2/pages/MCPSettingsPage.d.ts +73 -0
  298. package/dist/client-v2/pages/drawerWidth.d.ts +10 -0
  299. package/dist/client-v2/pages/permissions/Permissions.d.ts +67 -0
  300. package/dist/client-v2/pages/permissions/PermissionsTab.d.ts +12 -0
  301. package/dist/client-v2/pages/useUnsavedChangesBeforeClose.d.ts +29 -0
  302. package/dist/client-v2/plugin.d.ts +33 -0
  303. package/dist/client-v2/repositories/AIConfigRepository.d.ts +5 -23
  304. package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +21 -0
  305. package/dist/client-v2/workflow/components/FormValueRegistry.d.ts +12 -0
  306. package/dist/{client/components/ListCollapse.d.ts → client-v2/workflow/components/WorkflowListCollapse.d.ts} +4 -4
  307. package/dist/client-v2/workflow/constants.d.ts +26 -0
  308. package/dist/client-v2/workflow/nodes/employee/components/AIEmployeeFieldset.d.ts +11 -0
  309. package/dist/{client/ai-employees/common/CodeHighlight.d.ts → client-v2/workflow/nodes/employee/components/AIEmployeeSelect.d.ts} +5 -6
  310. package/dist/{client/ai-employees/ContextAwareTooltip.d.ts → client-v2/workflow/nodes/employee/components/Assignees.d.ts} +2 -1
  311. package/dist/client-v2/workflow/nodes/employee/components/FeedbackSettings.d.ts +17 -0
  312. package/dist/client-v2/workflow/nodes/employee/components/FileInputs.d.ts +11 -0
  313. package/dist/{client/ai-employees/AIEmployeesProvider.d.ts → client-v2/workflow/nodes/employee/components/MessageInputs.d.ts} +2 -3
  314. package/dist/client-v2/workflow/nodes/employee/components/ModelOptions.d.ts +17 -0
  315. package/dist/{client/ai-employees/admin/datasource/components/basic/CollectionCascader.d.ts → client-v2/workflow/nodes/employee/components/SkillSettings.d.ts} +6 -3
  316. package/dist/client-v2/workflow/nodes/employee/components/StructuredOutput.d.ts +11 -0
  317. package/dist/client-v2/workflow/nodes/employee/components/UserInput.d.ts +18 -0
  318. package/dist/{client/ai-employees/AISettingsProvider.d.ts → client-v2/workflow/nodes/employee/components/WebSearchOptions.d.ts} +6 -8
  319. package/dist/client-v2/workflow/nodes/employee/index.d.ts +23 -0
  320. package/dist/client-v2/workflow/nodes/llm/components/LLMFieldset.d.ts +12 -0
  321. package/dist/{client/ai-employees/chatbox → client-v2/workflow/nodes/llm/components}/Messages.d.ts +2 -1
  322. package/dist/client-v2/workflow/nodes/llm/components/StructuredOutput.d.ts +11 -0
  323. package/dist/client-v2/workflow/nodes/llm/index.d.ts +30 -0
  324. package/dist/client-v2/workflow/register.d.ts +10 -0
  325. package/dist/client-v2/workflow/triggers/ai-employee/AIEmployeeTriggerConfig.d.ts +11 -0
  326. package/dist/client-v2/workflow/triggers/ai-employee/Parameters.d.ts +11 -0
  327. package/dist/client-v2/workflow/triggers/ai-employee/index.d.ts +25 -0
  328. package/dist/client-v2/workflow/types.d.ts +128 -0
  329. package/dist/collections/ai-employees.d.ts +1 -0
  330. package/dist/collections/ai-employees.js +1 -0
  331. package/dist/common/ai-employee-validation.d.ts +15 -0
  332. package/dist/common/ai-employee-validation.js +61 -0
  333. package/dist/common/error-codes.d.ts +13 -0
  334. package/dist/common/error-codes.js +48 -0
  335. package/dist/common/frontend-tools.d.ts +26 -0
  336. package/dist/common/frontend-tools.js +57 -0
  337. package/dist/common/llm-service-models.d.ts +16 -0
  338. package/dist/common/llm-service-models.js +84 -0
  339. package/dist/externalVersion.js +23 -26
  340. package/dist/locale/de-DE.json +2 -1
  341. package/dist/locale/en-US.json +129 -1
  342. package/dist/locale/es-ES.json +2 -1
  343. package/dist/locale/fr-FR.json +2 -1
  344. package/dist/locale/hu-HU.json +2 -1
  345. package/dist/locale/id-ID.json +2 -1
  346. package/dist/locale/it-IT.json +2 -1
  347. package/dist/locale/ja-JP.json +2 -1
  348. package/dist/locale/ko-KR.json +2 -1
  349. package/dist/locale/nl-NL.json +2 -1
  350. package/dist/locale/pt-BR.json +2 -1
  351. package/dist/locale/ru-RU.json +2 -1
  352. package/dist/locale/tr-TR.json +2 -1
  353. package/dist/locale/uk-UA.json +2 -1
  354. package/dist/locale/vi-VN.json +2 -1
  355. package/dist/locale/zh-CN.json +129 -1
  356. package/dist/locale/zh-TW.json +2 -1
  357. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  358. package/dist/node_modules/@langchain/xai/package.json +1 -1
  359. package/dist/node_modules/fs-extra/package.json +1 -1
  360. package/dist/node_modules/jsonrepair/package.json +1 -1
  361. package/dist/node_modules/just-bash/package.json +1 -1
  362. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  363. package/dist/node_modules/openai/package.json +1 -1
  364. package/dist/node_modules/zod/package.json +1 -1
  365. package/dist/server/ai-employees/ai-conversations.d.ts +4 -1
  366. package/dist/server/ai-employees/ai-conversations.js +2 -0
  367. package/dist/server/ai-employees/ai-employee.d.ts +5 -1
  368. package/dist/server/ai-employees/ai-employee.js +149 -49
  369. package/dist/server/ai-employees/ai-knowledge-base.d.ts +21 -1
  370. package/dist/server/ai-employees/ai-knowledge-base.js +76 -8
  371. package/dist/server/ai-employees/middleware/conversation.js +9 -2
  372. package/dist/server/ai-employees/prompts.d.ts +2 -1
  373. package/dist/server/ai-employees/prompts.js +8 -2
  374. package/dist/server/ai-employees/reasoning-stream-state.d.ts +23 -0
  375. package/dist/server/ai-employees/reasoning-stream-state.js +63 -0
  376. package/dist/server/ai-employees/tool-call-sanitizer.d.ts +1 -0
  377. package/dist/server/ai-employees/tool-call-sanitizer.js +2 -1
  378. package/dist/server/ai-employees/utils.js +11 -5
  379. package/dist/server/attachments.d.ts +24 -0
  380. package/dist/server/attachments.js +204 -0
  381. package/dist/server/collections/ai-conversations.js +5 -0
  382. package/dist/server/collections/ai-usage-events.d.ts +10 -0
  383. package/dist/server/collections/ai-usage-events.js +183 -0
  384. package/dist/server/document-loader/cached.d.ts +1 -0
  385. package/dist/server/document-loader/cached.js +18 -9
  386. package/dist/server/document-loader/constants.js +1 -1
  387. package/dist/server/document-loader/loader.d.ts +0 -1
  388. package/dist/server/document-loader/loader.js +25 -8
  389. package/dist/server/document-loader/types.d.ts +7 -0
  390. package/dist/server/features/knowledge-base.d.ts +2 -0
  391. package/dist/server/frontend-tools.d.ts +25 -0
  392. package/dist/server/frontend-tools.js +171 -0
  393. package/dist/server/llm-providers/anthropic.d.ts +2 -1
  394. package/dist/server/llm-providers/anthropic.js +1 -3
  395. package/dist/server/llm-providers/common/reasoning.js +18 -10
  396. package/dist/server/llm-providers/dashscope.d.ts +2 -1
  397. package/dist/server/llm-providers/dashscope.js +16 -1
  398. package/dist/{client/ai-employees/datasource → server/llm-providers/deepseek}/index.d.ts +2 -1
  399. package/dist/server/llm-providers/deepseek/index.js +32 -0
  400. package/dist/server/llm-providers/deepseek/provider.d.ts +57 -0
  401. package/dist/server/llm-providers/deepseek/provider.js +320 -0
  402. package/dist/server/llm-providers/deepseek/reasoning.d.ts +83 -0
  403. package/dist/server/llm-providers/deepseek/reasoning.js +285 -0
  404. package/dist/server/llm-providers/google-genai.d.ts +1 -1
  405. package/dist/server/llm-providers/google-genai.js +1 -5
  406. package/dist/server/llm-providers/kimi/provider.d.ts +2 -1
  407. package/dist/server/llm-providers/kimi/provider.js +22 -2
  408. package/dist/server/llm-providers/mistral.d.ts +36 -2
  409. package/dist/server/llm-providers/mistral.js +62 -2
  410. package/dist/server/llm-providers/openai/completions.d.ts +2 -1
  411. package/dist/server/llm-providers/openai/completions.js +17 -1
  412. package/dist/server/llm-providers/openai/responses.d.ts +2 -1
  413. package/dist/server/llm-providers/openai/responses.js +17 -1
  414. package/dist/server/llm-providers/orcarouter.d.ts +35 -0
  415. package/dist/server/llm-providers/{deepseek.js → orcarouter.js} +68 -56
  416. package/dist/server/llm-providers/provider.d.ts +11 -2
  417. package/dist/server/llm-providers/provider.js +36 -4
  418. package/dist/server/llm-providers/shengsuanyun.d.ts +29 -0
  419. package/dist/server/llm-providers/shengsuanyun.js +114 -0
  420. package/dist/server/manager/ai-chat-conversation.js +2 -0
  421. package/dist/server/manager/ai-context-datasource-manager.js +34 -7
  422. package/dist/server/manager/ai-feature-manager.js +1 -1
  423. package/dist/server/manager/ai-manager.d.ts +5 -1
  424. package/dist/server/manager/ai-manager.js +11 -3
  425. package/dist/server/manager/ai-usage-events.d.ts +49 -0
  426. package/dist/server/manager/ai-usage-events.js +195 -0
  427. package/dist/server/manager/work-context-handler.js +10 -3
  428. package/dist/server/migrations/20260501000000-ai-employee-knowledge-base-retrieval-strategy.d.ts +14 -0
  429. package/dist/server/migrations/20260501000000-ai-employee-knowledge-base-retrieval-strategy.js +49 -0
  430. package/dist/server/plugin.d.ts +1 -0
  431. package/dist/server/plugin.js +47 -0
  432. package/dist/server/resource/aiConversations.d.ts +2 -0
  433. package/dist/server/resource/aiConversations.js +77 -4
  434. package/dist/server/resource/aiEmployees.d.ts +2 -0
  435. package/dist/server/resource/aiEmployees.js +70 -0
  436. package/dist/server/resource/aiWorkflowTasks.js +9 -1
  437. package/dist/server/resource/llmServices.d.ts +11 -0
  438. package/dist/server/resource/llmServices.js +85 -0
  439. package/dist/server/types/ai-message.type.d.ts +4 -0
  440. package/dist/server/types/knowledge-base.type.d.ts +8 -3
  441. package/dist/server/utils.d.ts +5 -2
  442. package/dist/server/utils.js +11 -19
  443. package/dist/server/workflow/nodes/employee/files.d.ts +3 -1
  444. package/dist/server/workflow/nodes/employee/files.js +31 -5
  445. package/dist/swagger/common.d.ts +143 -0
  446. package/dist/swagger/common.js +144 -0
  447. package/dist/swagger/employees.d.ts +301 -0
  448. package/dist/swagger/employees.js +131 -0
  449. package/dist/swagger/index.d.ts +1617 -0
  450. package/dist/swagger/index.js +62 -0
  451. package/dist/swagger/llm.d.ts +563 -0
  452. package/dist/swagger/llm.js +255 -0
  453. package/dist/swagger/schemas.d.ts +757 -0
  454. package/dist/swagger/schemas.js +392 -0
  455. package/package.json +5 -5
  456. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-store.md +0 -24
  457. package/dist/ai/docs/nocobase/data-sources/development/index.md +0 -6
  458. package/dist/client/119.c6bf8c6433167d81.js +0 -10
  459. package/dist/client/170.d98eacdc00d9d527.js +0 -10
  460. package/dist/client/228.b4b709f93b86b6b9.js +0 -10
  461. package/dist/client/280.003b9e9788599244.js +0 -10
  462. package/dist/client/290.0f7f441d8a94f03c.js +0 -10
  463. package/dist/client/331.d547c95410476a69.js +0 -10
  464. package/dist/client/406.15c09d98faa2ccf1.js +0 -10
  465. package/dist/client/428.5eb4f53ddbb6a3b8.js +0 -10
  466. package/dist/client/462.d172d0fe91519e35.js +0 -10
  467. package/dist/client/486.dcac8f3fcec19c33.js +0 -10
  468. package/dist/client/502.2b4a51e0a8122e52.js +0 -10
  469. package/dist/client/525.33a9c8ec28be4ec4.js +0 -10
  470. package/dist/client/559.9f97ebcdb0bd6231.js +0 -10
  471. package/dist/client/561.7ec804ef39ec7dcd.js +0 -10
  472. package/dist/client/580.35ba54ff91b7fe6d.js +0 -10
  473. package/dist/client/597.b0d64948d74cf6cb.js +0 -10
  474. package/dist/client/604.89c674f35b52b4ef.js +0 -10
  475. package/dist/client/614.aa766080f6b99aab.js +0 -10
  476. package/dist/client/646.d4483b4ff23da0a0.js +0 -10
  477. package/dist/client/687.224e569a99cae4bb.js +0 -10
  478. package/dist/client/699.57c0a1acb723202a.js +0 -10
  479. package/dist/client/711.92cd94681fde7e05.js +0 -10
  480. package/dist/client/758.a9741e81911e53c3.js +0 -10
  481. package/dist/client/768.5177bff46ae71a5b.js +0 -10
  482. package/dist/client/792.abb57765453bcbcc.js +0 -10
  483. package/dist/client/820.f72ef2462b61d812.js +0 -10
  484. package/dist/client/832.0cf69e3f43c320b2.js +0 -10
  485. package/dist/client/927.d95c74ebb8fd51c9.js +0 -10
  486. package/dist/client/ai-employees/1.x/selector/AISelectorProvider.d.ts +0 -33
  487. package/dist/client/ai-employees/ProfileCard.d.ts +0 -15
  488. package/dist/client/ai-employees/admin/ChatSettings.d.ts +0 -10
  489. package/dist/client/ai-employees/admin/DataSourceSettings.d.ts +0 -10
  490. package/dist/client/ai-employees/admin/Employees.d.ts +0 -10
  491. package/dist/client/ai-employees/admin/EnableSwitch.d.ts +0 -10
  492. package/dist/client/ai-employees/admin/InputsFormSettings.d.ts +0 -10
  493. package/dist/client/ai-employees/admin/KnowledgeBaseSettings.d.ts +0 -10
  494. package/dist/client/ai-employees/admin/ModelSettings.d.ts +0 -10
  495. package/dist/client/ai-employees/admin/ProfileSettings.d.ts +0 -12
  496. package/dist/client/ai-employees/admin/SkillSettings.d.ts +0 -19
  497. package/dist/client/ai-employees/admin/SystemPrompt.d.ts +0 -10
  498. package/dist/client/ai-employees/admin/Templates.d.ts +0 -10
  499. package/dist/client/ai-employees/admin/ToolsSettings.d.ts +0 -17
  500. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingForm.d.ts +0 -10
  501. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingGrid.d.ts +0 -10
  502. package/dist/client/ai-employees/admin/datasource/components/basic/FieldsTransfer.d.ts +0 -17
  503. package/dist/client/ai-employees/admin/datasource/components/basic/index.d.ts +0 -10
  504. package/dist/client/ai-employees/admin/datasource/components/form-steps/CollectionSetting.d.ts +0 -17
  505. package/dist/client/ai-employees/admin/datasource/components/form-steps/FieldsSetting.d.ts +0 -15
  506. package/dist/client/ai-employees/admin/datasource/components/form-steps/FilterSetting.d.ts +0 -17
  507. package/dist/client/ai-employees/admin/datasource/components/form-steps/Preview.d.ts +0 -13
  508. package/dist/client/ai-employees/admin/datasource/components/form-steps/SortSetting.d.ts +0 -15
  509. package/dist/client/ai-employees/admin/datasource/components/form-steps/index.d.ts +0 -13
  510. package/dist/client/ai-employees/admin/datasource/components/index.d.ts +0 -9
  511. package/dist/client/ai-employees/admin/datasource/context.d.ts +0 -17
  512. package/dist/client/ai-employees/admin/datasource/flow-models/index.d.ts +0 -9
  513. package/dist/client/ai-employees/admin/datasource/index.d.ts +0 -10
  514. package/dist/client/ai-employees/admin/hooks.d.ts +0 -39
  515. package/dist/client/ai-employees/admin/mcp/MCPSettings.d.ts +0 -10
  516. package/dist/client/ai-employees/admin/mcp/MCPToolsList.d.ts +0 -19
  517. package/dist/client/ai-employees/admin/mcp/context.d.ts +0 -15
  518. package/dist/client/ai-employees/admin/mcp/schemas.d.ts +0 -1314
  519. package/dist/client/ai-employees/ai-coding/CodeHistory.d.ts +0 -10
  520. package/dist/client/ai-employees/avatars.d.ts +0 -9
  521. package/dist/client/ai-employees/built-in/utils.d.ts +0 -15
  522. package/dist/client/ai-employees/business-report/tools/index.d.ts +0 -10
  523. package/dist/client/ai-employees/business-report/ui/report-utils.d.ts +0 -38
  524. package/dist/client/ai-employees/chart-generator/tools/index.d.ts +0 -10
  525. package/dist/client/ai-employees/chart-generator/ui/ECharts.d.ts +0 -13
  526. package/dist/client/ai-employees/chatbox/AIThinking.d.ts +0 -12
  527. package/dist/client/ai-employees/chatbox/Attachment.d.ts +0 -14
  528. package/dist/client/ai-employees/chatbox/AttachmentsHeader.d.ts +0 -10
  529. package/dist/client/ai-employees/chatbox/ChatBox.d.ts +0 -12
  530. package/dist/client/ai-employees/chatbox/ContextItemsHeader.d.ts +0 -10
  531. package/dist/client/ai-employees/chatbox/DebugPanel.d.ts +0 -16
  532. package/dist/client/ai-employees/chatbox/EditMessageHeader.d.ts +0 -10
  533. package/dist/client/ai-employees/chatbox/HintMessageHeader.d.ts +0 -10
  534. package/dist/client/ai-employees/chatbox/MessageRenderer.d.ts +0 -33
  535. package/dist/client/ai-employees/chatbox/Sender.d.ts +0 -10
  536. package/dist/client/ai-employees/chatbox/SenderFooter.d.ts +0 -13
  537. package/dist/client/ai-employees/chatbox/SenderHeader.d.ts +0 -10
  538. package/dist/client/ai-employees/chatbox/SenderPrefix.d.ts +0 -10
  539. package/dist/client/ai-employees/chatbox/Upload.d.ts +0 -12
  540. package/dist/client/ai-employees/chatbox/VirtualList.d.ts +0 -28
  541. package/dist/client/ai-employees/chatbox/conversations/Conversations.d.ts +0 -10
  542. package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +0 -13
  543. package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +0 -13
  544. package/dist/client/ai-employees/chatbox/conversations/common.d.ts +0 -43
  545. package/dist/client/ai-employees/chatbox/conversations/index.d.ts +0 -9
  546. package/dist/client/ai-employees/chatbox/generative-ui/DefaultToolCard.d.ts +0 -16
  547. package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +0 -18
  548. package/dist/client/ai-employees/chatbox/hooks/useUploadFiles.d.ts +0 -12
  549. package/dist/client/ai-employees/chatbox/markdown/ECharts.d.ts +0 -10
  550. package/dist/client/ai-employees/chatbox/markdown/Form.d.ts +0 -10
  551. package/dist/client/ai-employees/chatbox/markdown/Generating.d.ts +0 -10
  552. package/dist/client/ai-employees/chatbox/markdown/Markdown.d.ts +0 -13
  553. package/dist/client/ai-employees/chatbox/roles.d.ts +0 -32
  554. package/dist/client/ai-employees/chatbox/stores/chat-box.d.ts +0 -9
  555. package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +0 -9
  556. package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +0 -9
  557. package/dist/client/ai-employees/chatbox/stores/chat-tools.d.ts +0 -51
  558. package/dist/client/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
  559. package/dist/client/ai-employees/chatbox/stores/workflow-tasks.d.ts +0 -45
  560. package/dist/client/ai-employees/chatbox/utils.d.ts +0 -41
  561. package/dist/client/ai-employees/context/classic-pages.d.ts +0 -10
  562. package/dist/client/ai-employees/data-modeling/Table.d.ts +0 -12
  563. package/dist/client/ai-employees/data-modeling/setup.d.ts +0 -10
  564. package/dist/client/ai-employees/data-modeling/tools/index.d.ts +0 -10
  565. package/dist/client/ai-employees/data-modeling/ui/useFieldInterfaceOptions.d.ts +0 -14
  566. package/dist/client/ai-employees/datasource/DatasourceList.d.ts +0 -17
  567. package/dist/client/ai-employees/flow/events/index.d.ts +0 -9
  568. package/dist/client/ai-employees/flow/index.d.ts +0 -36
  569. package/dist/client/ai-employees/flow/models/AIEmployeeActionModel.d.ts +0 -18
  570. package/dist/client/ai-employees/flow/models/AIEmployeeShortcutModel.d.ts +0 -30
  571. package/dist/client/ai-employees/shortcuts/ShortcutList.d.ts +0 -10
  572. package/dist/client/ai-employees/shortcuts/useShortcuts.d.ts +0 -13
  573. package/dist/client/ai-employees/stores/context-aware.d.ts +0 -19
  574. package/dist/client/ai-employees/sub-agents/tools/index.d.ts +0 -10
  575. package/dist/client/ai-employees/suggestions/tools/index.d.ts +0 -10
  576. package/dist/client/ai-employees/suggestions/ui/SuggestionsOptions.d.ts +0 -13
  577. package/dist/client/ai-employees/types.d.ts +0 -259
  578. package/dist/client/ai-employees/workflow-tasks/tools/index.d.ts +0 -10
  579. package/dist/client/ai-employees/workflow-tasks/ui/WorkflowTaskOutputCard.d.ts +0 -11
  580. package/dist/client/chat-settings/Messages.d.ts +0 -11
  581. package/dist/client/chat-settings/StructuredOutput.d.ts +0 -11
  582. package/dist/client/components/skill-settings.d.ts +0 -22
  583. package/dist/client/debug-logger.d.ts +0 -52
  584. package/dist/client/features/components.d.ts +0 -9
  585. package/dist/client/features/feature-manager.d.ts +0 -9
  586. package/dist/client/features/index.d.ts +0 -9
  587. package/dist/client/features/vector-database-provider.d.ts +0 -9
  588. package/dist/client/features/vector-store-provider.d.ts +0 -9
  589. package/dist/client/llm-providers/anthropic/ModelSettings.d.ts +0 -10
  590. package/dist/client/llm-providers/anthropic/ProviderSettings.d.ts +0 -10
  591. package/dist/client/llm-providers/anthropic/index.d.ts +0 -10
  592. package/dist/client/llm-providers/components/Chat.d.ts +0 -10
  593. package/dist/client/llm-providers/components/ModelSelect.d.ts +0 -10
  594. package/dist/client/llm-providers/dashscope/ModelSettings.d.ts +0 -10
  595. package/dist/client/llm-providers/dashscope/ProviderSettings.d.ts +0 -10
  596. package/dist/client/llm-providers/dashscope/index.d.ts +0 -10
  597. package/dist/client/llm-providers/deepseek/ModelSettings.d.ts +0 -10
  598. package/dist/client/llm-providers/deepseek/index.d.ts +0 -10
  599. package/dist/client/llm-providers/google-genai/MessageRenderer.d.ts +0 -13
  600. package/dist/client/llm-providers/google-genai/ModelSettings.d.ts +0 -10
  601. package/dist/client/llm-providers/google-genai/ProviderSettings.d.ts +0 -10
  602. package/dist/client/llm-providers/google-genai/index.d.ts +0 -10
  603. package/dist/client/llm-providers/kimi/ModelSettings.d.ts +0 -10
  604. package/dist/client/llm-providers/kimi/index.d.ts +0 -10
  605. package/dist/client/llm-providers/mimo/ModelSettings.d.ts +0 -10
  606. package/dist/client/llm-providers/mimo/index.d.ts +0 -10
  607. package/dist/client/llm-providers/mistral/ModelSettings.d.ts +0 -10
  608. package/dist/client/llm-providers/mistral/index.d.ts +0 -10
  609. package/dist/client/llm-providers/ollama/ModelSettings.d.ts +0 -10
  610. package/dist/client/llm-providers/ollama/ProviderSettings.d.ts +0 -10
  611. package/dist/client/llm-providers/ollama/index.d.ts +0 -10
  612. package/dist/client/llm-providers/openai/completions/ModelSettings.d.ts +0 -10
  613. package/dist/client/llm-providers/openai/completions/index.d.ts +0 -10
  614. package/dist/client/llm-providers/openai/components/ProviderSettings.d.ts +0 -10
  615. package/dist/client/llm-providers/openai/responses/ModelSettings.d.ts +0 -10
  616. package/dist/client/llm-providers/openai/responses/index.d.ts +0 -10
  617. package/dist/client/llm-providers/tongyi/ModelSettings.d.ts +0 -10
  618. package/dist/client/llm-providers/tongyi/ProviderSettings.d.ts +0 -10
  619. package/dist/client/llm-providers/tongyi/index.d.ts +0 -10
  620. package/dist/client/llm-providers/xai/ModelSettings.d.ts +0 -10
  621. package/dist/client/llm-providers/xai/index.d.ts +0 -10
  622. package/dist/client/llm-services/LLMServices.d.ts +0 -13
  623. package/dist/client/llm-services/component/DefaultModelSelect.d.ts +0 -10
  624. package/dist/client/llm-services/component/EnabledModelsSelect.d.ts +0 -23
  625. package/dist/client/llm-services/component/LLMTestFlight.d.ts +0 -10
  626. package/dist/client/llm-services/component/ModelOptionsSettings.d.ts +0 -10
  627. package/dist/client/llm-services/component/UnifiedModelSettings.d.ts +0 -10
  628. package/dist/client/llm-services/hooks/useLLMServiceCatalog.d.ts +0 -18
  629. package/dist/client/llm-services/llm-providers.d.ts +0 -27
  630. package/dist/client/llm-services/utils.d.ts +0 -35
  631. package/dist/client/manager/ai-feature-manager.d.ts +0 -9
  632. package/dist/client/manager/ai-manager.d.ts +0 -35
  633. package/dist/client/repositories/AIConfigRepository.d.ts +0 -60
  634. package/dist/client/repositories/hooks/useAIConfigRepository.d.ts +0 -10
  635. package/dist/client/schemas/llms.d.ts +0 -347
  636. package/dist/client/workflow/nodes/employee/components/AIEmployeeSelect.d.ts +0 -10
  637. package/dist/client/workflow/nodes/employee/components/assigness.d.ts +0 -11
  638. package/dist/client/workflow/nodes/employee/components/file-inputs.d.ts +0 -10
  639. package/dist/client/workflow/nodes/employee/components/message-inputs.d.ts +0 -12
  640. package/dist/client/workflow/nodes/employee/components/model-options.d.ts +0 -10
  641. package/dist/client/workflow/nodes/employee/components/structured-output.d.ts +0 -10
  642. package/dist/client/workflow/nodes/employee/components/users-select.d.ts +0 -15
  643. package/dist/client/workflow/nodes/employee/components/web-search-options.d.ts +0 -10
  644. package/dist/client/workflow/nodes/employee/configuration.d.ts +0 -12
  645. package/dist/client/workflow/nodes/employee/flow-models/feedback.d.ts +0 -14
  646. package/dist/client/workflow/nodes/llm/ModelSettings.d.ts +0 -11
  647. package/dist/client/workflow/triggers/ai-employee/Parameters.d.ts +0 -13
  648. package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
  649. package/dist/server/llm-providers/deepseek.d.ts +0 -39
  650. /package/dist/{client → client-v2}/ai-employees/AISelection.d.ts +0 -0
  651. /package/dist/{client → client-v2}/ai-employees/AISelectionControl.d.ts +0 -0
  652. /package/dist/{client → client-v2}/ai-employees/ai-coding/prompts.d.ts +0 -0
  653. /package/dist/{client → client-v2}/ai-employees/ai-coding/setup.d.ts +0 -0
  654. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatButton.d.ts +0 -0
  655. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/SearchSwitch.d.ts +0 -0
  656. /package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolModal.d.ts +0 -0
  657. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/UserPrompt.d.ts +0 -0
  658. /package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useLoadMoreObserver.d.ts +0 -0
  659. /package/dist/client-v2/ai-employees/{chatbox/stores → stores}/global-store.d.ts +0 -0
  660. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/AIEmployeeShortcutListModel.d.ts +0 -0
  661. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/index.d.ts +0 -0
  662. /package/dist/{client/ai-employees/flow/events/ai-context-selection.d.ts → client-v2/workflow/components/index.d.ts} +0 -0
@@ -84,6 +84,7 @@ class LLMProvider {
84
84
  serviceOptions;
85
85
  modelOptions;
86
86
  chatModel;
87
+ modelReasoningOptions;
87
88
  get baseURL() {
88
89
  return null;
89
90
  }
@@ -92,13 +93,18 @@ class LLMProvider {
92
93
  this.app = app;
93
94
  this.serviceOptions = resolveServiceOptions(serviceOptions, app);
94
95
  if (modelOptions) {
95
- this.modelOptions = modelOptions;
96
+ const { _reasoning, ...restModelOptions } = modelOptions;
97
+ this.modelReasoningOptions = _reasoning;
98
+ this.modelOptions = restModelOptions;
96
99
  this.chatModel = this.createModel();
97
100
  }
98
101
  }
99
102
  getModelRequestBuilder(_model) {
100
103
  return null;
101
104
  }
105
+ resolveReasoningOptions(_reasoning) {
106
+ return {};
107
+ }
102
108
  prepareChain(context) {
103
109
  var _a, _b, _c, _d;
104
110
  let chain = this.chatModel;
@@ -183,6 +189,15 @@ class LLMProvider {
183
189
  return (0, import_utils2.stripToolCallTags)(chunk);
184
190
  }
185
191
  async parseAttachment(ctx, attachment) {
192
+ var _a;
193
+ const dataSourceKey = (_a = attachment == null ? void 0 : attachment.source) == null ? void 0 : _a.dataSourceKey;
194
+ const isExternalAttachment = Boolean(dataSourceKey && dataSourceKey !== "main");
195
+ if (!(attachment == null ? void 0 : attachment.storageId) && !isExternalAttachment || !(attachment == null ? void 0 : attachment.filename)) {
196
+ return {
197
+ placement: "system",
198
+ content: "The user provided an attachment, but it is unavailable or invalid and cannot be parsed. Do not use this attachment as evidence; tell the user the attachment is unavailable."
199
+ };
200
+ }
186
201
  if (this.isApiSupportedAttachment(attachment)) {
187
202
  return await this.convertToContent(ctx, attachment);
188
203
  } else if (this.isDocumentLoaderSupportedAttachment(attachment)) {
@@ -212,10 +227,24 @@ class LLMProvider {
212
227
  const ext = import_node_path.default.extname((attachment == null ? void 0 : attachment.filename) ?? "").toLocaleLowerCase();
213
228
  return import_document_loader.SUPPORTED_DOCUMENT_EXTNAMES.includes(ext);
214
229
  }
215
- async convertToContent(ctx, attachment) {
230
+ async encodeAttachment(ctx, attachment) {
216
231
  const fileManager = this.app.pm.get("file-manager");
217
- const url = await fileManager.getFileURL(attachment);
218
- const data = await (0, import_utils2.encodeFile)(ctx, decodeURIComponent(url));
232
+ if (typeof ctx.get !== "function") {
233
+ const { stream: stream2 } = await fileManager.getFileStream(attachment);
234
+ return await (0, import_utils2.encodeReadableStream)(stream2);
235
+ }
236
+ const { stream } = await fileManager.getFileStream(attachment, {
237
+ requestOptions: {
238
+ headers: {
239
+ Referer: ctx.get("referer") || "",
240
+ "User-Agent": ctx.get("user-agent") || ""
241
+ }
242
+ }
243
+ });
244
+ return await (0, import_utils2.encodeReadableStream)(stream);
245
+ }
246
+ async convertToContent(ctx, attachment) {
247
+ const data = await this.encodeAttachment(ctx, attachment);
219
248
  if (attachment.mimetype.startsWith("image/")) {
220
249
  return {
221
250
  placement: "contentBlocks",
@@ -338,6 +367,9 @@ ${parsed.text}
338
367
  parseResponseError(err) {
339
368
  return (err == null ? void 0 : err.message) ?? "Unexpected LLM service error";
340
369
  }
370
+ prepareStoredAssistantAdditionalKwargs(additionalKwargs) {
371
+ return additionalKwargs;
372
+ }
341
373
  reshapeAIMessage(_options) {
342
374
  }
343
375
  get documentLoader() {
@@ -0,0 +1,29 @@
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 { ChatOpenAI } from '@langchain/openai';
10
+ import { LLMProviderMeta } from '../manager/ai-manager';
11
+ import { LLMProvider } from './provider';
12
+ export type ShengSuanYunModel = {
13
+ id: string;
14
+ support_apis?: string[];
15
+ };
16
+ export declare function supportsChatCompletions(model: ShengSuanYunModel): boolean;
17
+ export declare class ShengSuanYunProvider extends LLMProvider {
18
+ chatModel: ChatOpenAI;
19
+ get baseURL(): string;
20
+ createModel(): ChatOpenAI<import("@langchain/openai/dist/chat_models/index.cjs").ChatOpenAICallOptions>;
21
+ listModels(): Promise<{
22
+ models?: {
23
+ id: string;
24
+ }[];
25
+ code?: number;
26
+ errMsg?: string;
27
+ }>;
28
+ }
29
+ export declare const shengsuanyunProviderOptions: LLMProviderMeta;
@@ -0,0 +1,114 @@
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
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var shengsuanyun_exports = {};
28
+ __export(shengsuanyun_exports, {
29
+ ShengSuanYunProvider: () => ShengSuanYunProvider,
30
+ shengsuanyunProviderOptions: () => shengsuanyunProviderOptions,
31
+ supportsChatCompletions: () => supportsChatCompletions
32
+ });
33
+ module.exports = __toCommonJS(shengsuanyun_exports);
34
+ var import_openai = require("@langchain/openai");
35
+ var import_utils = require("@nocobase/utils");
36
+ var import_ai_manager = require("../manager/ai-manager");
37
+ var import_provider = require("./provider");
38
+ const CHAT_COMPLETIONS_API = "/v1/chat/completions";
39
+ function supportsChatCompletions(model) {
40
+ return !Array.isArray(model.support_apis) || model.support_apis.includes(CHAT_COMPLETIONS_API);
41
+ }
42
+ class ShengSuanYunProvider extends import_provider.LLMProvider {
43
+ get baseURL() {
44
+ return "https://router.shengsuanyun.com/api/v1";
45
+ }
46
+ createModel() {
47
+ const { apiKey, xTitle } = this.serviceOptions || {};
48
+ const { responseFormat, structuredOutput } = this.modelOptions || {};
49
+ const { name, schema } = structuredOutput || {};
50
+ const responseFormatOptions = {
51
+ type: responseFormat ?? "text"
52
+ };
53
+ if (responseFormat === "json_schema" && schema) {
54
+ responseFormatOptions.json_schema = {
55
+ schema,
56
+ name: name ?? "schema"
57
+ };
58
+ }
59
+ return new import_openai.ChatOpenAI({
60
+ apiKey,
61
+ ...this.modelOptions,
62
+ modelKwargs: {
63
+ response_format: responseFormatOptions
64
+ },
65
+ configuration: {
66
+ baseURL: this.getResolvedBaseURL(),
67
+ ...xTitle ? { defaultHeaders: { "X-Title": xTitle } } : {}
68
+ }
69
+ });
70
+ }
71
+ async listModels() {
72
+ var _a;
73
+ const { apiKey, xTitle } = this.serviceOptions || {};
74
+ let url;
75
+ try {
76
+ url = this.buildRequestURL("models");
77
+ } catch (error) {
78
+ return { code: 400, errMsg: error instanceof Error ? error.message : String(error) };
79
+ }
80
+ if (!apiKey) {
81
+ return { code: 400, errMsg: "API Key required" };
82
+ }
83
+ try {
84
+ const response = await (0, import_utils.serverRequest)({
85
+ method: "GET",
86
+ url,
87
+ headers: {
88
+ Authorization: `Bearer ${apiKey}`,
89
+ ...xTitle ? { "X-Title": xTitle } : {}
90
+ }
91
+ });
92
+ const models = Array.isArray((_a = response == null ? void 0 : response.data) == null ? void 0 : _a.data) ? response.data.data : [];
93
+ return {
94
+ models: models.filter(supportsChatCompletions).map(({ id }) => ({ id }))
95
+ };
96
+ } catch (error) {
97
+ return {
98
+ code: 500,
99
+ errMsg: error instanceof Error ? error.message : String(error)
100
+ };
101
+ }
102
+ }
103
+ }
104
+ const shengsuanyunProviderOptions = {
105
+ title: "SSYCloud",
106
+ supportedModel: [import_ai_manager.SupportedModel.LLM],
107
+ provider: ShengSuanYunProvider
108
+ };
109
+ // Annotate the CommonJS export names for ESM import in node:
110
+ 0 && (module.exports = {
111
+ ShengSuanYunProvider,
112
+ shengsuanyunProviderOptions,
113
+ supportsChatCompletions
114
+ });
@@ -40,6 +40,7 @@ __export(ai_chat_conversation_exports, {
40
40
  });
41
41
  module.exports = __toCommonJS(ai_chat_conversation_exports);
42
42
  var import_lodash = __toESM(require("lodash"));
43
+ var import_ai_usage_events = require("./ai-usage-events");
43
44
  const createAIChatConversation = (ctx, sessionId) => {
44
45
  return new AIChatConversationImpl(ctx, sessionId);
45
46
  };
@@ -81,6 +82,7 @@ class AIChatConversationImpl {
81
82
  ),
82
83
  transaction: this.transaction
83
84
  });
85
+ await (0, import_ai_usage_events.recordAIUsageEventsForMessages)(this.ctx, this.sessionId, instances, this.transaction);
84
86
  return isArray ? instances : instances[0];
85
87
  }
86
88
  async removeMessages({ messageId }) {
@@ -60,6 +60,34 @@ function serializeQueryFieldValue(value) {
60
60
  }
61
61
  return value;
62
62
  }
63
+ function getRecordFieldValue(record, field) {
64
+ return field.split(".").reduce((current, key) => {
65
+ if (current === null || current === void 0) {
66
+ return current;
67
+ }
68
+ if (typeof current.get === "function") {
69
+ return current.get(key);
70
+ }
71
+ return current[key];
72
+ }, record);
73
+ }
74
+ function getQueryFieldOptions(collection, field) {
75
+ const parts = field.split(".");
76
+ let currentCollection = collection;
77
+ for (const [index, part] of parts.entries()) {
78
+ const currentField = currentCollection == null ? void 0 : currentCollection.getField(part);
79
+ if (!currentField) {
80
+ return;
81
+ }
82
+ if (index === parts.length - 1) {
83
+ return currentField.options;
84
+ }
85
+ if (!currentField.isRelationField()) {
86
+ return;
87
+ }
88
+ currentCollection = currentField.targetCollection();
89
+ }
90
+ }
63
91
  class AIContextDatasourceManager {
64
92
  constructor(plugin) {
65
93
  this.plugin = plugin;
@@ -149,17 +177,16 @@ class AIContextDatasourceManager {
149
177
  }
150
178
  });
151
179
  }
152
- const { fields, filter, sort, offset, limit } = options;
153
- const result = await collection.repository.find({ fields, filter, sort, offset: offset ?? 0, limit });
180
+ const { fields, appends, filter, sort, offset, limit } = options;
181
+ const result = await collection.repository.find({ fields, appends, filter, sort, offset: offset ?? 0, limit });
154
182
  const total = await collection.repository.count({ fields, filter });
155
183
  const records = result.map(
156
184
  (x) => fields.map((field) => {
157
- var _a2;
158
- const { name, type } = ((_a2 = collection.getField(field)) == null ? void 0 : _a2.options) || {};
159
- const value = serializeQueryFieldValue(x[field]);
185
+ const { name, type } = getQueryFieldOptions(collection, field) || {};
186
+ const value = serializeQueryFieldValue(getRecordFieldValue(x, field));
160
187
  return {
161
- name,
162
- type,
188
+ name: field.includes(".") ? field : name || field,
189
+ type: type || "unknown",
163
190
  value
164
191
  };
165
192
  })
@@ -51,7 +51,7 @@ class AIPluginFeatureManagerImpl extends import_features.BasePluginFeatureManage
51
51
  return this.features.vectorStoreProvider;
52
52
  }
53
53
  get knowledgeBase() {
54
- if (!this.features.vectorStoreProvider) {
54
+ if (!this.features.knowledgeBase) {
55
55
  throw this.featureNotSupportedError("knowledgeBase");
56
56
  }
57
57
  return this.features.knowledgeBase;
@@ -6,7 +6,7 @@
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
- import { LLMProvider, LLMProviderOptions, EmbeddingProvider, EmbeddingProviderOptions } from '../llm-providers/provider';
9
+ import { LLMProvider, LLMProviderOptions, EmbeddingProvider, EmbeddingProviderOptions, ReasoningOptions } from '../llm-providers/provider';
10
10
  import PluginAIServer from '../plugin';
11
11
  import { ToolManager } from './tool-manager';
12
12
  export type LLMProviderMeta = {
@@ -16,6 +16,7 @@ export type LLMProviderMeta = {
16
16
  provider: new (opts: LLMProviderOptions) => LLMProvider;
17
17
  embedding?: new (opts: EmbeddingProviderOptions) => EmbeddingProvider;
18
18
  supportWebSearch?: boolean;
19
+ webSearchModels?: string[];
19
20
  };
20
21
  export declare enum SupportedModel {
21
22
  LLM = "LLM",
@@ -25,6 +26,7 @@ export type LLMModelOptions = {
25
26
  llmService: string;
26
27
  model: string;
27
28
  webSearch?: boolean;
29
+ reasoning?: ReasoningOptions;
28
30
  };
29
31
  export type EnabledLLMModel = {
30
32
  label: string;
@@ -37,6 +39,7 @@ export type EnabledLLMService = {
37
39
  providerTitle?: string;
38
40
  enabledModels: EnabledLLMModel[];
39
41
  supportWebSearch: boolean;
42
+ webSearchModels?: string[];
40
43
  isToolConflict: boolean;
41
44
  };
42
45
  export declare class AIManager {
@@ -50,6 +53,7 @@ export declare class AIManager {
50
53
  title: string;
51
54
  supportedModel: SupportedModel[];
52
55
  supportWebSearch: boolean;
56
+ webSearchModels: string[];
53
57
  }[];
54
58
  getSupportedProvider(model: SupportedModel): string[];
55
59
  listAllEnabledModels(): Promise<EnabledLLMService[]>;
@@ -48,11 +48,12 @@ class AIManager {
48
48
  }
49
49
  listLLMProviders() {
50
50
  const providers = this.llmProviders.entries();
51
- return Array.from(providers).map(([name, { title, supportedModel, supportWebSearch }]) => ({
51
+ return Array.from(providers).map(([name, { title, supportedModel, supportWebSearch, webSearchModels }]) => ({
52
52
  name,
53
53
  title,
54
54
  supportedModel: supportedModel ?? ["LLM" /* LLM */],
55
- supportWebSearch: supportWebSearch ?? false
55
+ supportWebSearch: supportWebSearch ?? false,
56
+ webSearchModels
56
57
  }));
57
58
  }
58
59
  getSupportedProvider(model) {
@@ -98,6 +99,7 @@ class AIManager {
98
99
  providerTitle: providerMeta.title,
99
100
  enabledModels,
100
101
  supportWebSearch: providerMeta.supportWebSearch ?? false,
102
+ webSearchModels: providerMeta.webSearchModels,
101
103
  isToolConflict: providerClient.isToolConflict()
102
104
  };
103
105
  }
@@ -123,7 +125,7 @@ class AIManager {
123
125
  return (0, import_recommended_models.getRecommendedModels)(provider);
124
126
  }
125
127
  async getLLMService(options) {
126
- const { llmService, model, webSearch } = options ?? {};
128
+ const { llmService, model, webSearch, reasoning } = options ?? {};
127
129
  if (!llmService || !model) {
128
130
  throw new Error("LLM service not configured");
129
131
  }
@@ -134,6 +136,9 @@ class AIManager {
134
136
  if (webSearch === true) {
135
137
  modelOptions.builtIn = { webSearch: true };
136
138
  }
139
+ if (reasoning) {
140
+ modelOptions._reasoning = reasoning;
141
+ }
137
142
  const service = await this.plugin.db.getRepository("llmServices").findOne({
138
143
  filter: {
139
144
  name: llmService
@@ -146,6 +151,9 @@ class AIManager {
146
151
  if (!providerOptions) {
147
152
  throw new Error("LLM service provider not found");
148
153
  }
154
+ if (webSearch === true && providerOptions.webSearchModels && !providerOptions.webSearchModels.includes(model)) {
155
+ throw new Error(`Web search is not supported by model "${model}"`);
156
+ }
149
157
  const Provider = providerOptions.provider;
150
158
  const provider = new Provider({
151
159
  app: this.plugin.app,
@@ -0,0 +1,49 @@
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 { Context } from '@nocobase/actions';
10
+ import { Transaction } from '@nocobase/database';
11
+ import { AIMessage } from '../types';
12
+ type RecordLike = Record<string, unknown> & {
13
+ get?: (key: string) => unknown;
14
+ };
15
+ export type NormalizedUsageMetadata = {
16
+ inputTokens: number;
17
+ outputTokens: number;
18
+ totalTokens: number;
19
+ cachedTokens: number;
20
+ reasoningTokens: number;
21
+ };
22
+ export type AIUsageEventValues = {
23
+ occurredAt: Date;
24
+ sessionId: string;
25
+ messageId: string;
26
+ userId?: unknown;
27
+ aiEmployeeUsername?: unknown;
28
+ from: string;
29
+ category: string;
30
+ eventType: 'llm_message';
31
+ role: string;
32
+ provider: string;
33
+ llmService?: string;
34
+ model: string;
35
+ inputTokens: number;
36
+ outputTokens: number;
37
+ totalTokens: number;
38
+ cachedTokens: number;
39
+ reasoningTokens: number;
40
+ toolCallCount: number;
41
+ autoToolCallCount: number;
42
+ status: 'success';
43
+ rawUsageMetadata: Record<string, unknown>;
44
+ rawResponseMetadata?: Record<string, unknown>;
45
+ };
46
+ export declare function normalizeUsageMetadata(usageMetadata: Record<string, unknown>): NormalizedUsageMetadata;
47
+ export declare function buildAIUsageEventValues(sessionId: string, message: AIMessage, conversation: RecordLike): AIUsageEventValues | null;
48
+ export declare function recordAIUsageEventsForMessages(ctx: Context, sessionId: string, messages: AIMessage[], transaction?: Transaction): Promise<void>;
49
+ export {};
@@ -0,0 +1,195 @@
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
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var ai_usage_events_exports = {};
28
+ __export(ai_usage_events_exports, {
29
+ buildAIUsageEventValues: () => buildAIUsageEventValues,
30
+ normalizeUsageMetadata: () => normalizeUsageMetadata,
31
+ recordAIUsageEventsForMessages: () => recordAIUsageEventsForMessages
32
+ });
33
+ module.exports = __toCommonJS(ai_usage_events_exports);
34
+ const SKIPPED_MESSAGE_ROLES = /* @__PURE__ */ new Set(["user", "tool", "system"]);
35
+ function normalizeUsageMetadata(usageMetadata) {
36
+ const inputTokens = getNumericValue(usageMetadata, ["input_tokens", "prompt_tokens", "inputTokens", "promptTokens"]) ?? 0;
37
+ const outputTokens = getNumericValue(usageMetadata, ["output_tokens", "completion_tokens", "outputTokens", "completionTokens"]) ?? 0;
38
+ const totalTokens = getNumericValue(usageMetadata, ["total_tokens", "totalTokens"]) ?? inputTokens + outputTokens;
39
+ const cachedTokens = getNumericValue(usageMetadata, ["cached_tokens", "cachedTokens"]) ?? getNestedNumericValue(usageMetadata, ["input_token_details", "cache_read"]) ?? getNestedNumericValue(usageMetadata, ["input_token_details", "cached_tokens"]) ?? getNestedNumericValue(usageMetadata, ["prompt_tokens_details", "cached_tokens"]) ?? 0;
40
+ const reasoningTokens = getNumericValue(usageMetadata, ["reasoning_tokens", "reasoningTokens"]) ?? getNestedNumericValue(usageMetadata, ["output_token_details", "reasoning"]) ?? getNestedNumericValue(usageMetadata, ["completion_tokens_details", "reasoning_tokens"]) ?? 0;
41
+ return {
42
+ inputTokens,
43
+ outputTokens,
44
+ totalTokens,
45
+ cachedTokens,
46
+ reasoningTokens
47
+ };
48
+ }
49
+ function buildAIUsageEventValues(sessionId, message, conversation) {
50
+ const role = readString(message, "role");
51
+ if (!role || SKIPPED_MESSAGE_ROLES.has(role)) {
52
+ return null;
53
+ }
54
+ const metadata = readRecord(message, "metadata");
55
+ const provider = readString(metadata, "provider");
56
+ const model = readString(metadata, "model");
57
+ if (!provider || !model) {
58
+ return null;
59
+ }
60
+ const usageMetadata = readRecord(metadata, "usage_metadata") ?? {};
61
+ const responseMetadata = readRecord(metadata, "response_metadata");
62
+ const normalizedUsage = normalizeUsageMetadata(usageMetadata);
63
+ const toolCalls = readArray(message, "toolCalls");
64
+ const autoCallTools = readArray(metadata, "autoCallTools");
65
+ const llmService = readString(metadata, "llmService");
66
+ return {
67
+ occurredAt: normalizeDate(readValue(message, "createdAt")),
68
+ sessionId,
69
+ messageId: String(readValue(message, "messageId") ?? ""),
70
+ userId: readValue(conversation, "userId"),
71
+ aiEmployeeUsername: readValue(conversation, "aiEmployeeUsername"),
72
+ from: readString(conversation, "from") ?? "main-agent",
73
+ category: readString(conversation, "category") ?? "chat",
74
+ eventType: "llm_message",
75
+ role,
76
+ provider,
77
+ ...llmService ? { llmService } : {},
78
+ model,
79
+ ...normalizedUsage,
80
+ toolCallCount: (toolCalls == null ? void 0 : toolCalls.length) ?? 0,
81
+ autoToolCallCount: (autoCallTools == null ? void 0 : autoCallTools.length) ?? 0,
82
+ status: "success",
83
+ rawUsageMetadata: usageMetadata,
84
+ ...responseMetadata ? { rawResponseMetadata: responseMetadata } : {}
85
+ };
86
+ }
87
+ async function recordAIUsageEventsForMessages(ctx, sessionId, messages, transaction) {
88
+ const recordableMessages = messages.filter(isRecordableLLMMessage);
89
+ if (recordableMessages.length === 0) {
90
+ return;
91
+ }
92
+ const conversation = await ctx.db.getRepository("aiConversations").findOne({
93
+ filter: {
94
+ sessionId
95
+ },
96
+ transaction
97
+ });
98
+ if (!conversation) {
99
+ return;
100
+ }
101
+ const usageEvents = recordableMessages.map((message) => buildAIUsageEventValues(sessionId, message, conversation)).filter(isUsageEventValues);
102
+ if (usageEvents.length === 0) {
103
+ return;
104
+ }
105
+ const usageEventsRepo = ctx.db.getRepository("aiUsageEvents");
106
+ for (const values of usageEvents) {
107
+ await usageEventsRepo.updateOrCreate({
108
+ filterKeys: ["messageId", "eventType"],
109
+ values,
110
+ transaction
111
+ });
112
+ }
113
+ }
114
+ function isUsageEventValues(value) {
115
+ return value !== null && value.messageId !== "";
116
+ }
117
+ function isRecordableLLMMessage(message) {
118
+ const role = readString(message, "role");
119
+ if (!role || SKIPPED_MESSAGE_ROLES.has(role)) {
120
+ return false;
121
+ }
122
+ const metadata = readRecord(message, "metadata");
123
+ return Boolean(readString(metadata, "provider") && readString(metadata, "model"));
124
+ }
125
+ function isRecord(value) {
126
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
127
+ }
128
+ function readValue(source, key) {
129
+ if (!isRecord(source)) {
130
+ return void 0;
131
+ }
132
+ const value = source[key];
133
+ if (value !== void 0) {
134
+ return value;
135
+ }
136
+ if (typeof source.get === "function") {
137
+ return source.get(key);
138
+ }
139
+ return void 0;
140
+ }
141
+ function readString(source, key) {
142
+ const value = readValue(source, key);
143
+ return typeof value === "string" && value !== "" ? value : void 0;
144
+ }
145
+ function readRecord(source, key) {
146
+ const value = readValue(source, key);
147
+ return isRecord(value) ? value : void 0;
148
+ }
149
+ function readArray(source, key) {
150
+ const value = readValue(source, key);
151
+ return Array.isArray(value) ? value : void 0;
152
+ }
153
+ function getNumericValue(source, keys) {
154
+ for (const key of keys) {
155
+ const normalized = normalizeNumber(source[key]);
156
+ if (normalized !== void 0) {
157
+ return normalized;
158
+ }
159
+ }
160
+ }
161
+ function getNestedNumericValue(source, path) {
162
+ let current = source;
163
+ for (const key of path) {
164
+ if (!isRecord(current)) {
165
+ return void 0;
166
+ }
167
+ current = current[key];
168
+ }
169
+ return normalizeNumber(current);
170
+ }
171
+ function normalizeNumber(value) {
172
+ const numeric = typeof value === "number" ? value : typeof value === "string" ? Number(value) : NaN;
173
+ if (!Number.isFinite(numeric)) {
174
+ return void 0;
175
+ }
176
+ return Math.max(0, Math.trunc(numeric));
177
+ }
178
+ function normalizeDate(value) {
179
+ if (value instanceof Date && Number.isFinite(value.getTime())) {
180
+ return value;
181
+ }
182
+ if (typeof value === "string" || typeof value === "number") {
183
+ const date = new Date(value);
184
+ if (Number.isFinite(date.getTime())) {
185
+ return date;
186
+ }
187
+ }
188
+ return /* @__PURE__ */ new Date();
189
+ }
190
+ // Annotate the CommonJS export names for ESM import in node:
191
+ 0 && (module.exports = {
192
+ buildAIUsageEventValues,
193
+ normalizeUsageMetadata,
194
+ recordAIUsageEventsForMessages
195
+ });
@@ -41,6 +41,7 @@ __export(work_context_handler_exports, {
41
41
  module.exports = __toCommonJS(work_context_handler_exports);
42
42
  var import_utils = require("@nocobase/utils");
43
43
  var import_lodash = __toESM(require("lodash"));
44
+ const MODEL_EXCLUDED_FIELDS = /* @__PURE__ */ new Set(["frontendTools"]);
44
45
  const createWorkContextHandler = (plugin) => new WorkContextHandlerImpl(plugin);
45
46
  class WorkContextHandlerImpl {
46
47
  constructor(plugin) {
@@ -82,11 +83,17 @@ class WorkContextHandlerImpl {
82
83
  if (!contextItem) {
83
84
  return "";
84
85
  }
85
- const { resolve } = this.strategies.get(contextItem.type) ?? {};
86
+ const modelContext = this.excludeInternalFields(contextItem);
87
+ const { resolve } = this.strategies.get(modelContext.type) ?? {};
86
88
  if (resolve) {
87
- return await resolve(ctx, contextItem);
89
+ return await resolve(ctx, modelContext);
88
90
  }
89
- return await ((_b = (_a = this.defaultStrategy).resolve) == null ? void 0 : _b.call(_a, ctx, contextItem));
91
+ return await ((_b = (_a = this.defaultStrategy).resolve) == null ? void 0 : _b.call(_a, ctx, modelContext));
92
+ }
93
+ excludeInternalFields(contextItem) {
94
+ return Object.fromEntries(
95
+ Object.entries(contextItem).filter(([field]) => !MODEL_EXCLUDED_FIELDS.has(field))
96
+ );
90
97
  }
91
98
  }
92
99
  const Stringify = (_plugin) => async (_ctx, contextItem) => {