@nocobase/plugin-ai 2.2.0-beta.9 → 3.0.0-alpha.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 (615) hide show
  1. package/client-v2.d.ts +1 -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/vector-database.md +3 -3
  7. package/dist/ai/docs/nocobase/ai-employees/scenarios/company-background-research.md +125 -0
  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 +3 -1
  10. package/dist/ai/docs/nocobase/api/cli/index.md +14 -2
  11. package/dist/ai/docs/nocobase/api/cli/portal/config.md +44 -0
  12. package/dist/ai/docs/nocobase/api/cli/portal/create.md +48 -0
  13. package/dist/ai/docs/nocobase/api/cli/portal/deploy.md +39 -0
  14. package/dist/ai/docs/nocobase/api/cli/portal/destroy.md +41 -0
  15. package/dist/ai/docs/nocobase/api/cli/portal/dev.md +39 -0
  16. package/dist/ai/docs/nocobase/api/cli/portal/index.md +136 -0
  17. package/dist/ai/docs/nocobase/api/cli/portal/info.md +41 -0
  18. package/dist/ai/docs/nocobase/api/cli/portal/list.md +40 -0
  19. package/dist/ai/docs/nocobase/api/cli/portal/pull.md +43 -0
  20. package/dist/ai/docs/nocobase/api/cli/portal/push.md +41 -0
  21. package/dist/ai/docs/nocobase/building-tips/ai-fill-js-block-form.md +1092 -0
  22. package/dist/ai/docs/nocobase/building-tips/operations-dashboard.md +513 -0
  23. package/dist/ai/docs/nocobase/data-sources/calendar/calendar-collection.md +100 -3
  24. package/dist/ai/docs/nocobase/data-sources/collection-comment/index.md +92 -39
  25. package/dist/ai/docs/nocobase/data-sources/collection-sql/index.md +150 -29
  26. package/dist/ai/docs/nocobase/data-sources/collection-tree/index.md +93 -5
  27. package/dist/ai/docs/nocobase/data-sources/collection-view/index.md +226 -4
  28. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/china-region.md +122 -5
  29. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/collection-select.md +105 -4
  30. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/json.md +102 -4
  31. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/nano-id.md +104 -4
  32. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/snowflake-id.md +108 -4
  33. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/sort.md +3 -19
  34. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/uuid.md +104 -4
  35. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/index.md +44 -8
  36. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/color.md +102 -4
  37. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/email.md +104 -4
  38. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/icon.md +102 -4
  39. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/input.md +112 -8
  40. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/integer.md +103 -4
  41. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/number.md +103 -4
  42. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/password.md +102 -4
  43. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/percent.md +104 -5
  44. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/phone.md +104 -4
  45. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/textarea.md +99 -8
  46. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/url.md +103 -4
  47. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox-group.md +105 -3
  48. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox.md +102 -4
  49. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/china-region.md +108 -5
  50. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/multiple-select.md +103 -5
  51. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/radio-group.md +106 -4
  52. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/select.md +103 -5
  53. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/date.md +102 -4
  54. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime-without-tz.md +103 -5
  55. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime.md +103 -5
  56. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/index.md +53 -47
  57. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/time.md +102 -4
  58. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/unix-timestamp.md +103 -5
  59. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/circle.md +102 -4
  60. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/line.md +103 -5
  61. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/point.md +102 -4
  62. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/polygon.md +102 -4
  63. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/index.md +62 -16
  64. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/markdown.md +104 -4
  65. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/rich-text.md +105 -5
  66. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-at.md +105 -5
  67. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-by.md +103 -5
  68. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/space.md +100 -6
  69. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/table-oid.md +102 -4
  70. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-at.md +104 -5
  71. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-by.md +104 -6
  72. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/validation.md +68 -58
  73. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection.md +32 -13
  74. package/dist/ai/docs/nocobase/data-sources/data-modeling/index.md +41 -33
  75. package/dist/ai/docs/nocobase/data-sources/data-source-external-mariadb/index.md +114 -6
  76. package/dist/ai/docs/nocobase/data-sources/data-source-external-mssql/index.md +117 -6
  77. package/dist/ai/docs/nocobase/data-sources/data-source-external-mysql/index.md +103 -6
  78. package/dist/ai/docs/nocobase/data-sources/data-source-external-nocobase/index.md +75 -73
  79. package/dist/ai/docs/nocobase/data-sources/data-source-external-oracle/index.md +129 -11
  80. package/dist/ai/docs/nocobase/data-sources/data-source-external-postgres/index.md +110 -6
  81. package/dist/ai/docs/nocobase/data-sources/data-source-kingbase/index.md +75 -49
  82. package/dist/ai/docs/nocobase/data-sources/data-source-main/general-collection.md +116 -15
  83. package/dist/ai/docs/nocobase/data-sources/data-source-main/index.md +92 -62
  84. package/dist/ai/docs/nocobase/data-sources/data-source-main/inheritance-collection.md +97 -10
  85. package/dist/ai/docs/nocobase/data-sources/data-source-manager/external-database.md +97 -58
  86. package/dist/ai/docs/nocobase/data-sources/data-source-manager/index.md +32 -24
  87. package/dist/ai/docs/nocobase/data-sources/data-source-rest-api/index.md +115 -153
  88. package/dist/ai/docs/nocobase/data-sources/external/clickhouse.md +124 -0
  89. package/dist/ai/docs/nocobase/data-sources/external/doris.md +130 -0
  90. package/dist/ai/docs/nocobase/data-sources/external/index.md +140 -0
  91. package/dist/ai/docs/nocobase/data-sources/external/kingbase.md +129 -0
  92. package/dist/ai/docs/nocobase/data-sources/external/mariadb.md +126 -0
  93. package/dist/ai/docs/nocobase/data-sources/external/mssql.md +129 -0
  94. package/dist/ai/docs/nocobase/data-sources/external/mysql.md +115 -0
  95. package/dist/ai/docs/nocobase/data-sources/external/nocobase.md +159 -0
  96. package/dist/ai/docs/nocobase/data-sources/external/oceanbase.md +126 -0
  97. package/dist/ai/docs/nocobase/data-sources/external/oracle.md +158 -0
  98. package/dist/ai/docs/nocobase/data-sources/external/postgresql.md +122 -0
  99. package/dist/ai/docs/nocobase/data-sources/external/rest-api.md +245 -0
  100. package/dist/ai/docs/nocobase/data-sources/field-attachment-url/index.md +100 -12
  101. package/dist/ai/docs/nocobase/data-sources/field-encryption/index.md +48 -47
  102. package/dist/ai/docs/nocobase/data-sources/field-formula/index.md +99 -5
  103. package/dist/ai/docs/nocobase/data-sources/field-markdown-vditor/index.md +105 -5
  104. package/dist/ai/docs/nocobase/data-sources/field-sequence/index.md +102 -5
  105. package/dist/ai/docs/nocobase/data-sources/field-signature/index.md +18 -16
  106. package/dist/ai/docs/nocobase/data-sources/field-sort/index.md +76 -73
  107. package/dist/ai/docs/nocobase/data-sources/file-manager/field-attachment.md +101 -7
  108. package/dist/ai/docs/nocobase/data-sources/file-manager/file-collection.md +101 -14
  109. package/dist/ai/docs/nocobase/data-sources/index.md +49 -33
  110. package/dist/ai/docs/nocobase/data-sources/main/index.md +130 -0
  111. package/dist/ai/docs/nocobase/data-sources/main/kingbase.md +147 -0
  112. package/dist/ai/docs/nocobase/data-sources/main/mariadb.md +59 -0
  113. package/dist/ai/docs/nocobase/data-sources/main/mysql.md +59 -0
  114. package/dist/ai/docs/nocobase/data-sources/main/oceanbase.md +62 -0
  115. package/dist/ai/docs/nocobase/data-sources/main/postgresql.md +61 -0
  116. package/dist/ai/docs/nocobase/file-manager/stable-url.md +87 -0
  117. package/dist/ai/docs/nocobase/file-manager/storage/index.md +66 -26
  118. package/dist/ai/docs/nocobase/file-manager/storage/local.md +3 -1
  119. package/dist/ai/docs/nocobase/file-manager/storage/s3-pro.md +58 -7
  120. package/dist/ai/docs/nocobase/get-started/deployment/production.md +24 -2
  121. package/dist/ai/docs/nocobase/get-started/installation/docker-caddy.mdx +3 -0
  122. package/dist/ai/docs/nocobase/get-started/installation/docker-nginx.mdx +3 -0
  123. package/dist/ai/docs/nocobase/get-started/installation/docker.mdx +27 -3
  124. package/dist/ai/docs/nocobase/get-started/installation/env.md +35 -2
  125. package/dist/ai/docs/nocobase/index.md +1 -1
  126. package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/comment.md +107 -0
  127. package/dist/ai/docs/nocobase/interface-builder/index.md +7 -6
  128. package/dist/ai/docs/nocobase/interface-builder/ui-layout/desktop.md +97 -0
  129. package/dist/ai/docs/nocobase/interface-builder/ui-layout/index.md +50 -0
  130. package/dist/ai/docs/nocobase/interface-builder/ui-layout/mobile.md +133 -0
  131. package/dist/ai/docs/nocobase/multi-app/multi-app-vs-multi-portal-vs-multi-space.md +159 -0
  132. package/dist/ai/docs/nocobase/multi-app/multi-portal/index.md +195 -0
  133. package/dist/ai/docs/nocobase/nocobase-cli/production/index.md +10 -0
  134. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/caddy.md +15 -2
  135. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/index.md +1 -1
  136. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/nginx.md +16 -2
  137. package/dist/ai/docs/nocobase/ops-management/migration-manager/built-in-tables.md +1 -2
  138. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-comment/index.md +14 -0
  139. package/dist/ai/docs/nocobase/runjs/context/ai.md +396 -0
  140. package/dist/ai/docs/nocobase/security/guide.md +23 -0
  141. package/dist/ai/docs/nocobase/tutorials/index.md +20 -1
  142. package/dist/ai/docs/nocobase/workflow/development/api.md +259 -77
  143. package/dist/ai/docs/nocobase/workflow/development/index.md +2 -1
  144. package/dist/ai/docs/nocobase/workflow/development/migration.md +319 -0
  145. package/dist/ai/docs/nocobase/workflow/development/node.md +84 -51
  146. package/dist/ai/docs/nocobase/workflow/development/trigger.md +122 -20
  147. package/dist/ai/tools/executeFrontendTool.d.ts +10 -0
  148. package/dist/ai/tools/executeFrontendTool.js +86 -0
  149. package/dist/ai/tools/formFiller.js +4 -3
  150. package/dist/ai/tools/getSkill.js +1 -1
  151. package/dist/ai/tools/loadFrontendTool.d.ts +10 -0
  152. package/dist/ai/tools/loadFrontendTool.js +99 -0
  153. package/dist/ai/tools/subAgentWebSearch.js +20 -15
  154. package/dist/client/23.65ea8c37cd4b884b.js +10 -0
  155. package/dist/client/244.8631eb5cf3f05e21.js +10 -0
  156. package/dist/client/264.cc98933ef65608b6.js +10 -0
  157. package/dist/client/336.7a8a8853196ad779.js +11 -0
  158. package/dist/client/416.92b74ca47e4099c4.js +10 -0
  159. package/dist/client/446.d63c38d0309fe250.js +10 -0
  160. package/dist/client/525.94dd4136c1361477.js +10 -0
  161. package/dist/client/663.680bcf6272a8504d.js +10 -0
  162. package/dist/client/681.6ffbc9329b9ac242.js +10 -0
  163. package/dist/client/705.19b642db34de438a.js +10 -0
  164. package/dist/client/ai-employees/1.x/selector/AIContextCollector.d.ts +1 -4
  165. package/dist/client/ai-employees/permissions/PermissionsTab.d.ts +21 -5
  166. package/dist/client/index.d.ts +13 -20
  167. package/dist/client/index.js +8 -8
  168. package/dist/client/workflow/nodes/employee/index.d.ts +2 -23
  169. package/dist/client/workflow/nodes/llm/index.d.ts +2 -52
  170. package/dist/client/workflow/triggers/ai-employee/index.d.ts +2 -83
  171. package/dist/client-v2/23.1bcb6986b40723d8.js +10 -0
  172. package/dist/client-v2/244.c428e645ecb94414.js +10 -0
  173. package/dist/client-v2/264.be92ff6a4d2612f1.js +10 -0
  174. package/dist/client-v2/336.e406470429e0670e.js +11 -0
  175. package/dist/client-v2/416.0e1c2d9cde43b83d.js +10 -0
  176. package/dist/client-v2/420.b2aedb1ff71fca0e.js +10 -0
  177. package/dist/client-v2/446.073d450882db29fd.js +10 -0
  178. package/dist/client-v2/457.d72febb89e88fc00.js +10 -0
  179. package/dist/client-v2/663.342341f0b2b412d8.js +10 -0
  180. package/dist/client-v2/681.6890caa389564ff7.js +10 -0
  181. package/dist/client-v2/705.8dc34d43f02f322c.js +10 -0
  182. package/dist/{client/ai-employees/admin/AvatarSelect.d.ts → client-v2/ai-employees/AIEmployeeDropdown.d.ts} +8 -9
  183. package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +11 -2
  184. package/dist/{client → client-v2}/ai-employees/AddContextButton.d.ts +3 -1
  185. package/dist/{client → client-v2}/ai-employees/ai-coding/AICodingButton.d.ts +2 -1
  186. package/dist/{client/ai-employees/chatbox/AIEmployeeSwitch.d.ts → client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts} +1 -0
  187. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Actions.d.ts +2 -4
  188. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/AddLLMModal.d.ts +2 -4
  189. package/dist/client-v2/ai-employees/chatbox/components/Attachments.d.ts +27 -0
  190. package/dist/{client/ai-employees/permissions/Permissions.d.ts → client-v2/ai-employees/chatbox/components/ChatBox.d.ts} +2 -2
  191. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatBoxLayout.d.ts +1 -1
  192. package/dist/{client/ai-employees/chatbox/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/ChatBoxUnreadBadge.d.ts} +6 -7
  193. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ContextItem.d.ts +1 -1
  194. package/dist/client-v2/ai-employees/chatbox/components/Conversations.d.ts +18 -0
  195. package/dist/{client/ai-employees/admin/Templates.d.ts → client-v2/ai-employees/chatbox/components/DebugPanel.d.ts} +1 -1
  196. package/dist/{client/ai-employees/ai-coding/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/Markdown.d.ts} +12 -3
  197. package/dist/{client/ai-employees/1.x/selector/BlockSelector.d.ts → client-v2/ai-employees/chatbox/components/MessageContent.d.ts} +3 -4
  198. package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +39 -0
  199. package/dist/{client/ai-employees/admin/datasource/components/DatasourceSettingDetail.d.ts → client-v2/ai-employees/chatbox/components/Messages.d.ts} +4 -4
  200. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ModelSwitcher.d.ts +4 -0
  201. package/dist/client-v2/ai-employees/chatbox/components/Sender.d.ts +42 -0
  202. package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolCard.d.ts +7 -5
  203. package/dist/client-v2/ai-employees/chatbox/components/index.d.ts +14 -0
  204. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChat.d.ts +29 -27
  205. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +5 -3
  206. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +2 -1
  207. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +5 -4
  208. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +12 -6
  209. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useToolCallActions.d.ts +4 -2
  210. package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +56 -0
  211. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +4 -3
  212. package/dist/client-v2/ai-employees/chatbox/index.d.ts +17 -0
  213. package/dist/{client → client-v2}/ai-employees/chatbox/model.d.ts +9 -2
  214. package/dist/client-v2/ai-employees/chatbox/roles.d.ts +11 -0
  215. package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +46 -79
  216. package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +8 -25
  217. package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +23 -63
  218. package/dist/client-v2/ai-employees/chatbox/stores/chat-sender.d.ts +43 -0
  219. package/dist/{client → client-v2}/ai-employees/chatbox/stores/chat-tool-call.d.ts +6 -19
  220. package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +36 -0
  221. package/dist/client-v2/ai-employees/chatbox/stores/mounted-chat-boxes.d.ts +20 -0
  222. package/dist/client-v2/ai-employees/chatbox/stores/runtime.d.ts +43 -0
  223. package/dist/client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts +72 -0
  224. package/dist/client-v2/ai-employees/chatbox/upload.d.ts +19 -0
  225. package/dist/client-v2/ai-employees/chatbox/utils.d.ts +85 -0
  226. package/dist/{client/ai-employees/data-visualization/context.d.ts → client-v2/ai-employees/context/chart-config.d.ts} +1 -1
  227. package/dist/{client → client-v2}/ai-employees/context/code-editor.d.ts +1 -1
  228. package/dist/{client → client-v2}/ai-employees/context/datasource.d.ts +1 -1
  229. package/dist/{client → client-v2}/ai-employees/context/flow-models.d.ts +1 -1
  230. package/dist/client-v2/ai-employees/data-modeling/setup.d.ts +15 -0
  231. package/dist/{client → client-v2}/ai-employees/datasource/DatasourceSelector.d.ts +6 -2
  232. package/dist/{client/ai-employees/admin/datasource/flow-models/DatasourceSettingModel.d.ts → client-v2/ai-employees/flow/index.d.ts} +4 -6
  233. package/dist/{client → client-v2}/ai-employees/form-filler/tools/index.d.ts +1 -1
  234. package/dist/{client/ai-employees/ai-coding/tools/index.d.ts → client-v2/ai-employees/frontend-tools.d.ts} +3 -3
  235. package/dist/{client → client-v2}/ai-employees/stores/ai-selection.d.ts +4 -4
  236. package/dist/{client → client-v2}/ai-employees/stores/dialog-controller.d.ts +4 -4
  237. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportCard.d.ts +2 -2
  238. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportModal.d.ts +2 -2
  239. package/dist/{client/ai-employees/1.x/selector/withAISelectable.d.ts → client-v2/ai-employees/tools/ChartGeneratorCard.d.ts} +5 -4
  240. package/dist/{client/ai-employees/ai-coding/ui → client-v2/ai-employees/tools}/CodeToolCard.d.ts +1 -1
  241. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingCard.d.ts +3 -5
  242. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingModal.d.ts +4 -6
  243. package/dist/{client/ai-employees/sub-agents/ui → client-v2/ai-employees/tools}/SubAgentDispatchCard.d.ts +4 -9
  244. package/dist/client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts +16 -0
  245. package/dist/client-v2/ai-employees/tools/WorkflowTaskOutputCard.d.ts +16 -0
  246. package/dist/{client/ai-employees/ai-coding/tools/context-tools.d.ts → client-v2/ai-employees/tools/ai-coding.d.ts} +3 -1
  247. package/dist/client-v2/ai-employees/tools/business-report-utils.d.ts +45 -0
  248. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/CollectionNode.d.ts +2 -3
  249. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Diagram.d.ts +1 -1
  250. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Table.d.ts +2 -2
  251. package/dist/client-v2/ai-employees/tools/data-modeling/legacy-template.d.ts +13 -0
  252. package/dist/client-v2/ai-employees/tools/data-modeling/runtime.d.ts +15 -0
  253. package/dist/{client/ai-employees → client-v2/ai-employees/tools}/data-modeling/types.d.ts +27 -4
  254. package/dist/client-v2/ai-employees/tools/data-modeling/useFieldInterfaceOptions.d.ts +151 -0
  255. package/dist/{client/ai-employees/data-visualization/tools/index.d.ts → client-v2/ai-employees/tools/data-visualization.d.ts} +1 -1
  256. package/dist/client-v2/ai-employees/tools/index.d.ts +32 -0
  257. package/dist/client-v2/ai-employees/types.d.ts +131 -7
  258. package/dist/client-v2/block/ai-chat-box/AIChatBoxBlockModel.d.ts +21 -0
  259. package/dist/{client/workflow/nodes/employee/flow-models/task.d.ts → client-v2/block/ai-chat-box/AIChatBoxCoreModel.d.ts} +1 -1
  260. package/dist/{client/admin-settings/AdminSettings.d.ts → client-v2/block/ai-chat-box/components/AIChatBoxCoreView.d.ts} +1 -1
  261. package/dist/{client/ai-employees/AIEmployeeListItem.d.ts → client-v2/block/ai-chat-box/components/AIChatBoxView.d.ts} +3 -5
  262. package/dist/client-v2/block/ai-chat-box/index.d.ts +14 -0
  263. package/dist/client-v2/block/ai-chat-box/settings.d.ts +12 -0
  264. package/dist/client-v2/block/ai-chat-box/sub-models.d.ts +26 -0
  265. package/dist/client-v2/block/ai-chat-box/types.d.ts +38 -0
  266. package/dist/client-v2/block/ai-chat-box/utils.d.ts +26 -0
  267. package/dist/client-v2/components/RemoteSelect.d.ts +43 -0
  268. package/dist/{client → client-v2}/debug-logger.d.ts +2 -2
  269. package/dist/client-v2/f0053e745af0ad03.svg +50 -0
  270. package/dist/client-v2/index.d.ts +11 -12
  271. package/dist/client-v2/index.js +37 -1
  272. package/dist/client-v2/llm-providers/forms.d.ts +44 -0
  273. package/dist/client-v2/llm-providers/index.d.ts +24 -0
  274. package/dist/client-v2/llm-services/model-select.d.ts +33 -0
  275. package/dist/client-v2/llm-services/utils.d.ts +14 -0
  276. package/dist/client-v2/locale.d.ts +14 -0
  277. package/dist/client-v2/manager/ai-manager.d.ts +62 -0
  278. package/dist/client-v2/manager/frontend-tool-registry.d.ts +30 -0
  279. package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +36 -0
  280. package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +49 -0
  281. package/dist/client-v2/pages/AdminSettingsPage.d.ts +24 -0
  282. package/dist/client-v2/pages/DatasourceSettingsPage.d.ts +62 -0
  283. package/dist/client-v2/pages/EmployeesPage.d.ts +64 -0
  284. package/dist/client-v2/pages/LLMServicesPage.d.ts +75 -0
  285. package/dist/client-v2/pages/MCPSettingsPage.d.ts +73 -0
  286. package/dist/client-v2/pages/drawerWidth.d.ts +10 -0
  287. package/dist/client-v2/pages/permissions/Permissions.d.ts +67 -0
  288. package/dist/client-v2/pages/permissions/PermissionsTab.d.ts +12 -0
  289. package/dist/client-v2/pages/useUnsavedChangesBeforeClose.d.ts +29 -0
  290. package/dist/client-v2/plugin.d.ts +33 -0
  291. package/dist/client-v2/repositories/AIConfigRepository.d.ts +3 -23
  292. package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +21 -0
  293. package/dist/client-v2/workflow/components/FormValueRegistry.d.ts +12 -0
  294. package/dist/{client/components/ListCollapse.d.ts → client-v2/workflow/components/WorkflowListCollapse.d.ts} +4 -4
  295. package/dist/client-v2/workflow/constants.d.ts +26 -0
  296. package/dist/client-v2/workflow/nodes/employee/components/AIEmployeeFieldset.d.ts +11 -0
  297. package/dist/{client/ai-employees/common/CodeHighlight.d.ts → client-v2/workflow/nodes/employee/components/AIEmployeeSelect.d.ts} +5 -6
  298. package/dist/{client/ai-employees/ContextAwareTooltip.d.ts → client-v2/workflow/nodes/employee/components/Assignees.d.ts} +2 -1
  299. package/dist/client-v2/workflow/nodes/employee/components/FeedbackSettings.d.ts +17 -0
  300. package/dist/client-v2/workflow/nodes/employee/components/FileInputs.d.ts +11 -0
  301. package/dist/{client/ai-employees/AIEmployeesProvider.d.ts → client-v2/workflow/nodes/employee/components/MessageInputs.d.ts} +2 -3
  302. package/dist/client-v2/workflow/nodes/employee/components/ModelOptions.d.ts +17 -0
  303. package/dist/{client/ai-employees/admin/datasource/components/basic/CollectionCascader.d.ts → client-v2/workflow/nodes/employee/components/SkillSettings.d.ts} +6 -3
  304. package/dist/client-v2/workflow/nodes/employee/components/StructuredOutput.d.ts +11 -0
  305. package/dist/client-v2/workflow/nodes/employee/components/UserInput.d.ts +18 -0
  306. package/dist/{client/ai-employees/AISettingsProvider.d.ts → client-v2/workflow/nodes/employee/components/WebSearchOptions.d.ts} +6 -8
  307. package/dist/client-v2/workflow/nodes/employee/index.d.ts +23 -0
  308. package/dist/client-v2/workflow/nodes/llm/components/LLMFieldset.d.ts +12 -0
  309. package/dist/{client/ai-employees/chatbox → client-v2/workflow/nodes/llm/components}/Messages.d.ts +2 -1
  310. package/dist/client-v2/workflow/nodes/llm/components/StructuredOutput.d.ts +11 -0
  311. package/dist/client-v2/workflow/nodes/llm/index.d.ts +30 -0
  312. package/dist/client-v2/workflow/register.d.ts +10 -0
  313. package/dist/client-v2/workflow/triggers/ai-employee/AIEmployeeTriggerConfig.d.ts +11 -0
  314. package/dist/client-v2/workflow/triggers/ai-employee/Parameters.d.ts +11 -0
  315. package/dist/client-v2/workflow/triggers/ai-employee/index.d.ts +25 -0
  316. package/dist/client-v2/workflow/types.d.ts +128 -0
  317. package/dist/common/ai-employee-validation.d.ts +15 -0
  318. package/dist/common/ai-employee-validation.js +61 -0
  319. package/dist/common/error-codes.d.ts +13 -0
  320. package/dist/common/error-codes.js +48 -0
  321. package/dist/common/frontend-tools.d.ts +26 -0
  322. package/dist/common/frontend-tools.js +57 -0
  323. package/dist/common/llm-service-models.d.ts +16 -0
  324. package/dist/common/llm-service-models.js +84 -0
  325. package/dist/externalVersion.js +20 -25
  326. package/dist/locale/en-US.json +116 -1
  327. package/dist/locale/zh-CN.json +116 -1
  328. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  329. package/dist/node_modules/@langchain/xai/package.json +1 -1
  330. package/dist/node_modules/fs-extra/package.json +1 -1
  331. package/dist/node_modules/jsonrepair/package.json +1 -1
  332. package/dist/node_modules/just-bash/package.json +1 -1
  333. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  334. package/dist/node_modules/openai/package.json +1 -1
  335. package/dist/node_modules/zod/package.json +1 -1
  336. package/dist/server/ai-employees/ai-conversations.d.ts +4 -1
  337. package/dist/server/ai-employees/ai-conversations.js +2 -0
  338. package/dist/server/ai-employees/ai-employee.d.ts +3 -1
  339. package/dist/server/ai-employees/ai-employee.js +63 -9
  340. package/dist/server/ai-employees/middleware/conversation.js +9 -2
  341. package/dist/server/ai-employees/prompts.d.ts +2 -1
  342. package/dist/server/ai-employees/prompts.js +8 -2
  343. package/dist/server/ai-employees/tool-call-sanitizer.d.ts +1 -0
  344. package/dist/server/ai-employees/tool-call-sanitizer.js +2 -1
  345. package/dist/server/ai-employees/utils.js +11 -5
  346. package/dist/server/attachments.d.ts +24 -0
  347. package/dist/server/attachments.js +204 -0
  348. package/dist/server/collections/ai-conversations.js +5 -0
  349. package/dist/server/collections/ai-usage-events.d.ts +10 -0
  350. package/dist/server/collections/ai-usage-events.js +183 -0
  351. package/dist/server/document-loader/cached.d.ts +1 -0
  352. package/dist/server/document-loader/cached.js +18 -9
  353. package/dist/server/document-loader/constants.js +1 -1
  354. package/dist/server/document-loader/loader.d.ts +0 -1
  355. package/dist/server/document-loader/loader.js +25 -8
  356. package/dist/server/document-loader/types.d.ts +7 -0
  357. package/dist/server/frontend-tools.d.ts +25 -0
  358. package/dist/server/frontend-tools.js +171 -0
  359. package/dist/server/llm-providers/anthropic.d.ts +2 -1
  360. package/dist/server/llm-providers/anthropic.js +1 -3
  361. package/dist/server/llm-providers/dashscope.d.ts +2 -1
  362. package/dist/server/llm-providers/dashscope.js +16 -1
  363. package/dist/server/llm-providers/deepseek.d.ts +2 -1
  364. package/dist/server/llm-providers/deepseek.js +33 -2
  365. package/dist/server/llm-providers/google-genai.d.ts +1 -1
  366. package/dist/server/llm-providers/google-genai.js +1 -5
  367. package/dist/server/llm-providers/kimi/provider.d.ts +2 -1
  368. package/dist/server/llm-providers/kimi/provider.js +22 -2
  369. package/dist/server/llm-providers/mistral.d.ts +36 -2
  370. package/dist/server/llm-providers/mistral.js +62 -2
  371. package/dist/server/llm-providers/openai/completions.d.ts +2 -1
  372. package/dist/server/llm-providers/openai/completions.js +17 -1
  373. package/dist/server/llm-providers/openai/responses.d.ts +2 -1
  374. package/dist/server/llm-providers/openai/responses.js +17 -1
  375. package/dist/server/llm-providers/orcarouter.d.ts +35 -0
  376. package/dist/server/llm-providers/orcarouter.js +155 -0
  377. package/dist/server/llm-providers/provider.d.ts +10 -2
  378. package/dist/server/llm-providers/provider.js +33 -4
  379. package/dist/server/manager/ai-chat-conversation.js +2 -0
  380. package/dist/server/manager/ai-context-datasource-manager.js +34 -7
  381. package/dist/server/manager/ai-manager.d.ts +2 -1
  382. package/dist/server/manager/ai-manager.js +4 -1
  383. package/dist/server/manager/ai-usage-events.d.ts +49 -0
  384. package/dist/server/manager/ai-usage-events.js +195 -0
  385. package/dist/server/manager/work-context-handler.js +10 -3
  386. package/dist/server/plugin.d.ts +1 -0
  387. package/dist/server/plugin.js +41 -0
  388. package/dist/server/resource/aiConversations.d.ts +2 -0
  389. package/dist/server/resource/aiConversations.js +77 -4
  390. package/dist/server/resource/aiEmployees.d.ts +2 -0
  391. package/dist/server/resource/aiEmployees.js +62 -0
  392. package/dist/server/resource/aiWorkflowTasks.js +9 -1
  393. package/dist/server/resource/llmServices.d.ts +11 -0
  394. package/dist/server/resource/llmServices.js +85 -0
  395. package/dist/server/types/knowledge-base.type.d.ts +6 -2
  396. package/dist/server/utils.d.ts +5 -2
  397. package/dist/server/utils.js +11 -19
  398. package/dist/server/workflow/nodes/employee/files.d.ts +3 -1
  399. package/dist/server/workflow/nodes/employee/files.js +31 -5
  400. package/dist/swagger/common.d.ts +143 -0
  401. package/dist/swagger/common.js +144 -0
  402. package/dist/swagger/employees.d.ts +301 -0
  403. package/dist/swagger/employees.js +131 -0
  404. package/dist/swagger/index.d.ts +1588 -0
  405. package/dist/swagger/index.js +62 -0
  406. package/dist/swagger/llm.d.ts +555 -0
  407. package/dist/swagger/llm.js +247 -0
  408. package/dist/swagger/schemas.d.ts +736 -0
  409. package/dist/swagger/schemas.js +381 -0
  410. package/package.json +5 -5
  411. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-store.md +0 -24
  412. package/dist/ai/docs/nocobase/data-sources/development/index.md +0 -6
  413. package/dist/client/119.c6bf8c6433167d81.js +0 -10
  414. package/dist/client/170.d98eacdc00d9d527.js +0 -10
  415. package/dist/client/228.b4b709f93b86b6b9.js +0 -10
  416. package/dist/client/280.003b9e9788599244.js +0 -10
  417. package/dist/client/290.0f7f441d8a94f03c.js +0 -10
  418. package/dist/client/331.d547c95410476a69.js +0 -10
  419. package/dist/client/406.15c09d98faa2ccf1.js +0 -10
  420. package/dist/client/428.5eb4f53ddbb6a3b8.js +0 -10
  421. package/dist/client/462.d172d0fe91519e35.js +0 -10
  422. package/dist/client/486.dcac8f3fcec19c33.js +0 -10
  423. package/dist/client/502.2b4a51e0a8122e52.js +0 -10
  424. package/dist/client/525.33a9c8ec28be4ec4.js +0 -10
  425. package/dist/client/559.9f97ebcdb0bd6231.js +0 -10
  426. package/dist/client/561.7ec804ef39ec7dcd.js +0 -10
  427. package/dist/client/580.35ba54ff91b7fe6d.js +0 -10
  428. package/dist/client/597.b0d64948d74cf6cb.js +0 -10
  429. package/dist/client/604.89c674f35b52b4ef.js +0 -10
  430. package/dist/client/614.aa766080f6b99aab.js +0 -10
  431. package/dist/client/646.d4483b4ff23da0a0.js +0 -10
  432. package/dist/client/687.224e569a99cae4bb.js +0 -10
  433. package/dist/client/699.57c0a1acb723202a.js +0 -10
  434. package/dist/client/711.92cd94681fde7e05.js +0 -10
  435. package/dist/client/758.a9741e81911e53c3.js +0 -10
  436. package/dist/client/768.5177bff46ae71a5b.js +0 -10
  437. package/dist/client/792.abb57765453bcbcc.js +0 -10
  438. package/dist/client/820.f72ef2462b61d812.js +0 -10
  439. package/dist/client/832.0cf69e3f43c320b2.js +0 -10
  440. package/dist/client/927.d95c74ebb8fd51c9.js +0 -10
  441. package/dist/client/ai-employees/1.x/selector/AISelectorProvider.d.ts +0 -33
  442. package/dist/client/ai-employees/ProfileCard.d.ts +0 -15
  443. package/dist/client/ai-employees/admin/ChatSettings.d.ts +0 -10
  444. package/dist/client/ai-employees/admin/DataSourceSettings.d.ts +0 -10
  445. package/dist/client/ai-employees/admin/Employees.d.ts +0 -10
  446. package/dist/client/ai-employees/admin/EnableSwitch.d.ts +0 -10
  447. package/dist/client/ai-employees/admin/InputsFormSettings.d.ts +0 -10
  448. package/dist/client/ai-employees/admin/KnowledgeBaseSettings.d.ts +0 -10
  449. package/dist/client/ai-employees/admin/ModelSettings.d.ts +0 -10
  450. package/dist/client/ai-employees/admin/ProfileSettings.d.ts +0 -12
  451. package/dist/client/ai-employees/admin/SkillSettings.d.ts +0 -19
  452. package/dist/client/ai-employees/admin/SystemPrompt.d.ts +0 -10
  453. package/dist/client/ai-employees/admin/ToolsSettings.d.ts +0 -17
  454. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingForm.d.ts +0 -10
  455. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingGrid.d.ts +0 -10
  456. package/dist/client/ai-employees/admin/datasource/components/basic/FieldsTransfer.d.ts +0 -17
  457. package/dist/client/ai-employees/admin/datasource/components/basic/index.d.ts +0 -10
  458. package/dist/client/ai-employees/admin/datasource/components/form-steps/CollectionSetting.d.ts +0 -17
  459. package/dist/client/ai-employees/admin/datasource/components/form-steps/FieldsSetting.d.ts +0 -15
  460. package/dist/client/ai-employees/admin/datasource/components/form-steps/FilterSetting.d.ts +0 -17
  461. package/dist/client/ai-employees/admin/datasource/components/form-steps/Preview.d.ts +0 -13
  462. package/dist/client/ai-employees/admin/datasource/components/form-steps/SortSetting.d.ts +0 -15
  463. package/dist/client/ai-employees/admin/datasource/components/form-steps/index.d.ts +0 -13
  464. package/dist/client/ai-employees/admin/datasource/components/index.d.ts +0 -9
  465. package/dist/client/ai-employees/admin/datasource/context.d.ts +0 -17
  466. package/dist/client/ai-employees/admin/datasource/flow-models/index.d.ts +0 -9
  467. package/dist/client/ai-employees/admin/datasource/index.d.ts +0 -10
  468. package/dist/client/ai-employees/admin/hooks.d.ts +0 -39
  469. package/dist/client/ai-employees/admin/mcp/MCPSettings.d.ts +0 -10
  470. package/dist/client/ai-employees/admin/mcp/MCPToolsList.d.ts +0 -19
  471. package/dist/client/ai-employees/admin/mcp/context.d.ts +0 -15
  472. package/dist/client/ai-employees/admin/mcp/schemas.d.ts +0 -1314
  473. package/dist/client/ai-employees/ai-coding/CodeHistory.d.ts +0 -10
  474. package/dist/client/ai-employees/avatars.d.ts +0 -9
  475. package/dist/client/ai-employees/built-in/utils.d.ts +0 -15
  476. package/dist/client/ai-employees/business-report/tools/index.d.ts +0 -10
  477. package/dist/client/ai-employees/business-report/ui/report-utils.d.ts +0 -38
  478. package/dist/client/ai-employees/chart-generator/tools/index.d.ts +0 -10
  479. package/dist/client/ai-employees/chart-generator/ui/ECharts.d.ts +0 -13
  480. package/dist/client/ai-employees/chatbox/AIThinking.d.ts +0 -12
  481. package/dist/client/ai-employees/chatbox/Attachment.d.ts +0 -14
  482. package/dist/client/ai-employees/chatbox/AttachmentsHeader.d.ts +0 -10
  483. package/dist/client/ai-employees/chatbox/ChatBox.d.ts +0 -12
  484. package/dist/client/ai-employees/chatbox/ContextItemsHeader.d.ts +0 -10
  485. package/dist/client/ai-employees/chatbox/DebugPanel.d.ts +0 -16
  486. package/dist/client/ai-employees/chatbox/EditMessageHeader.d.ts +0 -10
  487. package/dist/client/ai-employees/chatbox/HintMessageHeader.d.ts +0 -10
  488. package/dist/client/ai-employees/chatbox/MessageRenderer.d.ts +0 -33
  489. package/dist/client/ai-employees/chatbox/Sender.d.ts +0 -10
  490. package/dist/client/ai-employees/chatbox/SenderFooter.d.ts +0 -13
  491. package/dist/client/ai-employees/chatbox/SenderHeader.d.ts +0 -10
  492. package/dist/client/ai-employees/chatbox/SenderPrefix.d.ts +0 -10
  493. package/dist/client/ai-employees/chatbox/Upload.d.ts +0 -12
  494. package/dist/client/ai-employees/chatbox/VirtualList.d.ts +0 -28
  495. package/dist/client/ai-employees/chatbox/conversations/Conversations.d.ts +0 -10
  496. package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +0 -13
  497. package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +0 -13
  498. package/dist/client/ai-employees/chatbox/conversations/common.d.ts +0 -43
  499. package/dist/client/ai-employees/chatbox/conversations/index.d.ts +0 -9
  500. package/dist/client/ai-employees/chatbox/generative-ui/DefaultToolCard.d.ts +0 -16
  501. package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +0 -18
  502. package/dist/client/ai-employees/chatbox/hooks/useUploadFiles.d.ts +0 -12
  503. package/dist/client/ai-employees/chatbox/markdown/ECharts.d.ts +0 -10
  504. package/dist/client/ai-employees/chatbox/markdown/Form.d.ts +0 -10
  505. package/dist/client/ai-employees/chatbox/markdown/Generating.d.ts +0 -10
  506. package/dist/client/ai-employees/chatbox/markdown/Markdown.d.ts +0 -13
  507. package/dist/client/ai-employees/chatbox/roles.d.ts +0 -32
  508. package/dist/client/ai-employees/chatbox/stores/chat-box.d.ts +0 -9
  509. package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +0 -9
  510. package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +0 -9
  511. package/dist/client/ai-employees/chatbox/stores/chat-tools.d.ts +0 -51
  512. package/dist/client/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
  513. package/dist/client/ai-employees/chatbox/stores/workflow-tasks.d.ts +0 -45
  514. package/dist/client/ai-employees/chatbox/utils.d.ts +0 -41
  515. package/dist/client/ai-employees/context/classic-pages.d.ts +0 -10
  516. package/dist/client/ai-employees/data-modeling/Table.d.ts +0 -12
  517. package/dist/client/ai-employees/data-modeling/setup.d.ts +0 -10
  518. package/dist/client/ai-employees/data-modeling/tools/index.d.ts +0 -10
  519. package/dist/client/ai-employees/data-modeling/ui/useFieldInterfaceOptions.d.ts +0 -14
  520. package/dist/client/ai-employees/datasource/DatasourceList.d.ts +0 -17
  521. package/dist/client/ai-employees/datasource/index.d.ts +0 -9
  522. package/dist/client/ai-employees/flow/events/index.d.ts +0 -9
  523. package/dist/client/ai-employees/flow/index.d.ts +0 -36
  524. package/dist/client/ai-employees/flow/models/AIEmployeeActionModel.d.ts +0 -18
  525. package/dist/client/ai-employees/flow/models/AIEmployeeShortcutModel.d.ts +0 -30
  526. package/dist/client/ai-employees/shortcuts/ShortcutList.d.ts +0 -10
  527. package/dist/client/ai-employees/shortcuts/useShortcuts.d.ts +0 -13
  528. package/dist/client/ai-employees/stores/context-aware.d.ts +0 -19
  529. package/dist/client/ai-employees/sub-agents/tools/index.d.ts +0 -10
  530. package/dist/client/ai-employees/suggestions/tools/index.d.ts +0 -10
  531. package/dist/client/ai-employees/suggestions/ui/SuggestionsOptions.d.ts +0 -13
  532. package/dist/client/ai-employees/types.d.ts +0 -259
  533. package/dist/client/ai-employees/workflow-tasks/tools/index.d.ts +0 -10
  534. package/dist/client/ai-employees/workflow-tasks/ui/WorkflowTaskOutputCard.d.ts +0 -11
  535. package/dist/client/chat-settings/Messages.d.ts +0 -11
  536. package/dist/client/chat-settings/StructuredOutput.d.ts +0 -11
  537. package/dist/client/components/skill-settings.d.ts +0 -22
  538. package/dist/client/features/components.d.ts +0 -9
  539. package/dist/client/features/feature-manager.d.ts +0 -9
  540. package/dist/client/features/index.d.ts +0 -9
  541. package/dist/client/features/vector-database-provider.d.ts +0 -9
  542. package/dist/client/features/vector-store-provider.d.ts +0 -9
  543. package/dist/client/llm-providers/anthropic/ModelSettings.d.ts +0 -10
  544. package/dist/client/llm-providers/anthropic/ProviderSettings.d.ts +0 -10
  545. package/dist/client/llm-providers/anthropic/index.d.ts +0 -10
  546. package/dist/client/llm-providers/components/Chat.d.ts +0 -10
  547. package/dist/client/llm-providers/components/ModelSelect.d.ts +0 -10
  548. package/dist/client/llm-providers/dashscope/ModelSettings.d.ts +0 -10
  549. package/dist/client/llm-providers/dashscope/ProviderSettings.d.ts +0 -10
  550. package/dist/client/llm-providers/dashscope/index.d.ts +0 -10
  551. package/dist/client/llm-providers/deepseek/ModelSettings.d.ts +0 -10
  552. package/dist/client/llm-providers/deepseek/index.d.ts +0 -10
  553. package/dist/client/llm-providers/google-genai/MessageRenderer.d.ts +0 -13
  554. package/dist/client/llm-providers/google-genai/ModelSettings.d.ts +0 -10
  555. package/dist/client/llm-providers/google-genai/ProviderSettings.d.ts +0 -10
  556. package/dist/client/llm-providers/google-genai/index.d.ts +0 -10
  557. package/dist/client/llm-providers/kimi/ModelSettings.d.ts +0 -10
  558. package/dist/client/llm-providers/kimi/index.d.ts +0 -10
  559. package/dist/client/llm-providers/mimo/ModelSettings.d.ts +0 -10
  560. package/dist/client/llm-providers/mimo/index.d.ts +0 -10
  561. package/dist/client/llm-providers/mistral/ModelSettings.d.ts +0 -10
  562. package/dist/client/llm-providers/mistral/index.d.ts +0 -10
  563. package/dist/client/llm-providers/ollama/ModelSettings.d.ts +0 -10
  564. package/dist/client/llm-providers/ollama/ProviderSettings.d.ts +0 -10
  565. package/dist/client/llm-providers/ollama/index.d.ts +0 -10
  566. package/dist/client/llm-providers/openai/completions/ModelSettings.d.ts +0 -10
  567. package/dist/client/llm-providers/openai/completions/index.d.ts +0 -10
  568. package/dist/client/llm-providers/openai/components/ProviderSettings.d.ts +0 -10
  569. package/dist/client/llm-providers/openai/responses/ModelSettings.d.ts +0 -10
  570. package/dist/client/llm-providers/openai/responses/index.d.ts +0 -10
  571. package/dist/client/llm-providers/tongyi/ModelSettings.d.ts +0 -10
  572. package/dist/client/llm-providers/tongyi/ProviderSettings.d.ts +0 -10
  573. package/dist/client/llm-providers/tongyi/index.d.ts +0 -10
  574. package/dist/client/llm-providers/xai/ModelSettings.d.ts +0 -10
  575. package/dist/client/llm-providers/xai/index.d.ts +0 -10
  576. package/dist/client/llm-services/LLMServices.d.ts +0 -13
  577. package/dist/client/llm-services/component/DefaultModelSelect.d.ts +0 -10
  578. package/dist/client/llm-services/component/EnabledModelsSelect.d.ts +0 -23
  579. package/dist/client/llm-services/component/LLMTestFlight.d.ts +0 -10
  580. package/dist/client/llm-services/component/ModelOptionsSettings.d.ts +0 -10
  581. package/dist/client/llm-services/component/UnifiedModelSettings.d.ts +0 -10
  582. package/dist/client/llm-services/hooks/useLLMServiceCatalog.d.ts +0 -18
  583. package/dist/client/llm-services/llm-providers.d.ts +0 -27
  584. package/dist/client/llm-services/utils.d.ts +0 -35
  585. package/dist/client/manager/ai-feature-manager.d.ts +0 -9
  586. package/dist/client/manager/ai-manager.d.ts +0 -35
  587. package/dist/client/repositories/AIConfigRepository.d.ts +0 -60
  588. package/dist/client/repositories/hooks/useAIConfigRepository.d.ts +0 -10
  589. package/dist/client/schemas/llms.d.ts +0 -347
  590. package/dist/client/workflow/nodes/employee/components/AIEmployeeSelect.d.ts +0 -10
  591. package/dist/client/workflow/nodes/employee/components/assigness.d.ts +0 -11
  592. package/dist/client/workflow/nodes/employee/components/file-inputs.d.ts +0 -10
  593. package/dist/client/workflow/nodes/employee/components/message-inputs.d.ts +0 -12
  594. package/dist/client/workflow/nodes/employee/components/model-options.d.ts +0 -10
  595. package/dist/client/workflow/nodes/employee/components/structured-output.d.ts +0 -10
  596. package/dist/client/workflow/nodes/employee/components/users-select.d.ts +0 -15
  597. package/dist/client/workflow/nodes/employee/components/web-search-options.d.ts +0 -10
  598. package/dist/client/workflow/nodes/employee/configuration.d.ts +0 -12
  599. package/dist/client/workflow/nodes/employee/flow-models/feedback.d.ts +0 -14
  600. package/dist/client/workflow/nodes/llm/ModelSettings.d.ts +0 -11
  601. package/dist/client/workflow/triggers/ai-employee/Parameters.d.ts +0 -13
  602. package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
  603. /package/dist/{client → client-v2}/ai-employees/AISelection.d.ts +0 -0
  604. /package/dist/{client → client-v2}/ai-employees/AISelectionControl.d.ts +0 -0
  605. /package/dist/{client → client-v2}/ai-employees/ai-coding/prompts.d.ts +0 -0
  606. /package/dist/{client → client-v2}/ai-employees/ai-coding/setup.d.ts +0 -0
  607. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatButton.d.ts +0 -0
  608. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/SearchSwitch.d.ts +0 -0
  609. /package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolModal.d.ts +0 -0
  610. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/UserPrompt.d.ts +0 -0
  611. /package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useLoadMoreObserver.d.ts +0 -0
  612. /package/dist/client-v2/ai-employees/{chatbox/stores → stores}/global-store.d.ts +0 -0
  613. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/AIEmployeeShortcutListModel.d.ts +0 -0
  614. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/index.d.ts +0 -0
  615. /package/dist/{client/ai-employees/flow/events/ai-context-selection.d.ts → client-v2/workflow/components/index.d.ts} +0 -0
@@ -9,11 +9,13 @@
9
9
  import { Model, Transaction } from '@nocobase/database';
10
10
  import PluginAIServer from '../plugin';
11
11
  import { AIMessage, SubAgentConversationMetadata, UserDecision } from '../types';
12
+ import type { FrontendToolManifest } from '../../common/frontend-tools';
12
13
  export type AIConversationsOptions = {
13
14
  systemMessage?: unknown;
14
15
  skillSettings?: unknown;
15
16
  conversationSettings?: unknown;
16
17
  modelSettings?: unknown;
18
+ frontendTools?: FrontendToolManifest[];
17
19
  [key: string]: unknown;
18
20
  };
19
21
  export type AIConversationFilterParams = {
@@ -29,6 +31,7 @@ export type CreateAIConversationParams = {
29
31
  title?: string;
30
32
  options?: AIConversationsOptions;
31
33
  from?: 'main-agent' | 'sub-agent';
34
+ scope?: string;
32
35
  transaction?: Transaction;
33
36
  category?: 'chat' | 'task';
34
37
  };
@@ -55,7 +58,7 @@ export declare const registerAIConversationReadNotification: (plugin: PluginAISe
55
58
  export declare class AIConversationsManager {
56
59
  protected plugin: PluginAIServer;
57
60
  constructor(plugin: PluginAIServer);
58
- create({ userId, aiEmployee, title, options, from, transaction, category, }: CreateAIConversationParams): Promise<any>;
61
+ create({ userId, aiEmployee, title, options, from, scope, transaction, category, }: CreateAIConversationParams): Promise<any>;
59
62
  update({ userId, sessionId, title, options: inputOptions }: UpdateAIConversationParams): Promise<any>;
60
63
  getConversation({ sessionId, userId }: {
61
64
  sessionId: string;
@@ -66,6 +66,7 @@ class AIConversationsManager {
66
66
  title,
67
67
  options = {},
68
68
  from = "main-agent",
69
+ scope,
69
70
  transaction,
70
71
  category = "chat"
71
72
  }) {
@@ -77,6 +78,7 @@ class AIConversationsManager {
77
78
  options,
78
79
  thread: 1,
79
80
  from,
81
+ ...scope !== void 0 ? { scope } : {},
80
82
  category
81
83
  },
82
84
  transaction
@@ -36,6 +36,7 @@ export declare class AIEmployee {
36
36
  employee: Model;
37
37
  aiChatConversation: AIChatConversation;
38
38
  skillSettings?: Record<string, any>;
39
+ userMessageCount: number;
39
40
  private plugin;
40
41
  private db;
41
42
  private ctx;
@@ -117,7 +118,7 @@ export declare class AIEmployee {
117
118
  initToolCall(transaction: Transaction, messageId: string, toolCalls: {
118
119
  id: string;
119
120
  name: string;
120
- args: any;
121
+ args: unknown;
121
122
  }[]): Promise<Model<AIToolMessage>[]>;
122
123
  updateToolCallInterrupted(sessionId: string, messageId: string, toolCallId: string, interruptId: string, interruptAction: {
123
124
  order: number;
@@ -143,6 +144,7 @@ export declare class AIEmployee {
143
144
  removeAbortController(): void;
144
145
  shouldInterruptToolCall(tools: ToolsEntry): boolean;
145
146
  isAutoCall(tools: ToolsEntry): boolean;
147
+ private normalizeMessageAttachments;
146
148
  private formatMessages;
147
149
  private getToolCallMap;
148
150
  private toInterruptActions;
@@ -55,12 +55,16 @@ var import_utils2 = require("./utils");
55
55
  var import_base = require("@langchain/core/callbacks/base");
56
56
  var import_shared = require("../../ai/tools/sub-agents/shared");
57
57
  var import_tool_call_sanitizer = require("./tool-call-sanitizer");
58
+ var import_attachments = require("../attachments");
59
+ var import_frontend_tools = require("../../common/frontend-tools");
60
+ var import_frontend_tools2 = require("../frontend-tools");
58
61
  class AIEmployee {
59
62
  sessionId;
60
63
  from = "main-agent";
61
64
  employee;
62
65
  aiChatConversation;
63
66
  skillSettings;
67
+ userMessageCount = 0;
64
68
  plugin;
65
69
  db;
66
70
  ctx;
@@ -141,7 +145,12 @@ class AIEmployee {
141
145
  }
142
146
  // === Chat flow ===
143
147
  buildState(messages) {
148
+ const toolCallMessage = messages.findLast((message) => {
149
+ var _a;
150
+ return (_a = message.toolCalls) == null ? void 0 : _a.length;
151
+ });
144
152
  return {
153
+ messageId: toolCallMessage == null ? void 0 : toolCallMessage.messageId,
145
154
  lastMessageIndex: {
146
155
  lastHumanMessageIndex: messages.filter((m) => m.role === "user").length,
147
156
  lastAIMessageIndex: messages.filter((m) => m.role === this.employee.username).length,
@@ -198,6 +207,7 @@ class AIEmployee {
198
207
  const { provider, model, service } = await this.plugin.aiManager.getLLMService({
199
208
  ...this.model
200
209
  });
210
+ this.userMessageCount = (userMessages ?? []).filter((message) => message.role === "user").length;
201
211
  const { historyMessages, tools, resolvedTools, middleware, config, state } = await this.initSession({
202
212
  messageId,
203
213
  provider,
@@ -746,7 +756,8 @@ ${addSystemPrompt.map((it) => it.content).join("\n")}`;
746
756
  },
747
757
  knowledgeBase,
748
758
  availableSkills,
749
- availableAIEmployees
759
+ availableAIEmployees,
760
+ webSearch: this.webSearch
750
761
  });
751
762
  const { important } = ((_g = (_f = this.ctx.action) == null ? void 0 : _f.params) == null ? void 0 : _g.values) || {};
752
763
  if (important === "GraphRecursionError") {
@@ -762,11 +773,12 @@ If information is missing, clearly state it in the summary.</Important>`;
762
773
  async initToolCall(transaction, messageId, toolCalls) {
763
774
  const nowTime = /* @__PURE__ */ new Date();
764
775
  const toolMap = await this.getToolsMap();
776
+ const currentFrontendTools = toolCalls.some((toolCall) => toolCall.name === import_frontend_tools.EXECUTE_FRONTEND_TOOL_NAME) ? await (0, import_frontend_tools2.listCurrentFrontendTools)(this.ctx, this.sessionId) : [];
765
777
  return await this.aiToolMessagesRepo.create({
766
778
  values: toolCalls.map((toolCall) => {
767
779
  const toolsExisted = toolMap.has(toolCall.name);
768
780
  const tools = toolMap.get(toolCall.name);
769
- const auto = this.isAutoCall(tools);
781
+ const auto = toolCall.name === import_frontend_tools.EXECUTE_FRONTEND_TOOL_NAME ? toolsExisted && (0, import_frontend_tools2.shouldAutoExecuteFrontendTool)(currentFrontendTools, toolCall.args) : this.isAutoCall(tools);
770
782
  return {
771
783
  id: this.plugin.snowflake.generate(),
772
784
  sessionId: this.sessionId,
@@ -1019,15 +1031,43 @@ If information is missing, clearly state it in the summary.</Important>`;
1019
1031
  const presetTools = employeeTools.find((s) => s.name === tools.definition.name);
1020
1032
  return presetTools ? presetTools.autoCall : isAutoCall;
1021
1033
  }
1034
+ async normalizeMessageAttachments(messages) {
1035
+ const attachments = messages.filter((message) => Array.isArray(message.attachments)).flatMap((message) => message.attachments);
1036
+ if (!attachments.length) {
1037
+ return messages;
1038
+ }
1039
+ const attachmentsByLookup = await (0, import_attachments.findMessageAttachments)(this.ctx, attachments);
1040
+ return messages.map((message) => {
1041
+ if (!Array.isArray(message.attachments) || !message.attachments.length) {
1042
+ return message;
1043
+ }
1044
+ return {
1045
+ ...message,
1046
+ attachments: message.attachments.flatMap((attachment) => {
1047
+ const source = (0, import_attachments.getAttachmentSource)(attachment);
1048
+ if (!source || (0, import_attachments.shouldSkipAttachmentSourceLookup)(source)) {
1049
+ return [attachment];
1050
+ }
1051
+ const lookupKey = (0, import_attachments.getMessageAttachmentLookupKey)(attachment);
1052
+ const verifiedAttachment = lookupKey ? attachmentsByLookup.get(lookupKey) : null;
1053
+ if (!verifiedAttachment) {
1054
+ return [];
1055
+ }
1056
+ return [{ ...verifiedAttachment, source }];
1057
+ })
1058
+ };
1059
+ });
1060
+ }
1022
1061
  async formatMessages({ messages, provider }) {
1023
1062
  var _a, _b;
1024
1063
  const formattedMessages = [];
1025
1064
  const workContextHandler = this.plugin.workContextHandler;
1065
+ const normalizedMessages = await this.normalizeMessageAttachments(messages);
1026
1066
  const truncate = (text, maxLen = 5e4) => {
1027
1067
  if (!text || text.length <= maxLen) return text;
1028
1068
  return text.slice(0, maxLen) + "\n...[truncated]";
1029
1069
  };
1030
- for (const msg of messages) {
1070
+ for (const msg of normalizedMessages) {
1031
1071
  const attachments = msg.attachments;
1032
1072
  const workContext = msg.workContext;
1033
1073
  const userContent = msg.content;
@@ -1155,7 +1195,12 @@ If information is missing, clearly state it in the summary.</Important>`;
1155
1195
  if (!this.areToolsEnabled()) {
1156
1196
  return [];
1157
1197
  }
1198
+ const currentFrontendTools = await (0, import_frontend_tools2.listCurrentFrontendTools)(this.ctx, this.sessionId);
1158
1199
  const tools = await this.listTools({ scope: "GENERAL" });
1200
+ const getSkill = await this.toolsManager.getTools(import_ai.SYSTEM_TOOLS.GET_SKILL, { ctx: this.ctx });
1201
+ if (getSkill) {
1202
+ tools.push(getSkill);
1203
+ }
1159
1204
  if (this.webSearch === true) {
1160
1205
  const subAgentWebSearch = await this.toolsManager.getTools(import_ai.SYSTEM_TOOLS.WEB_SEARCH, { ctx: this.ctx });
1161
1206
  tools.push(subAgentWebSearch);
@@ -1182,20 +1227,26 @@ If information is missing, clearly state it in the summary.</Important>`;
1182
1227
  }
1183
1228
  tools.push(tool);
1184
1229
  }
1185
- const systemTools = (0, import_ai.listSystemTools)();
1230
+ const systemTools = [...(0, import_ai.listSystemTools)(), import_frontend_tools.LOAD_FRONTEND_TOOL_NAME, import_frontend_tools.EXECUTE_FRONTEND_TOOL_NAME];
1186
1231
  if (!this.skillSettings) {
1187
- return tools;
1232
+ return (0, import_frontend_tools2.prepareToolsForFrontendConversation)(tools, currentFrontendTools);
1188
1233
  } else if (!this.skillSettings.toolsVersion) {
1189
1234
  const toolFilter = this.skillSettings.tools ?? [];
1190
- return tools.filter(
1191
- (t) => toolFilter.length === 0 || systemTools.includes(t.definition.name) || toolFilter.includes(t.definition.name)
1235
+ return (0, import_frontend_tools2.prepareToolsForFrontendConversation)(
1236
+ tools.filter(
1237
+ (t) => toolFilter.length === 0 || systemTools.includes(t.definition.name) || toolFilter.includes(t.definition.name)
1238
+ ),
1239
+ currentFrontendTools
1192
1240
  );
1193
1241
  } else {
1194
1242
  const toolFilter = this.skillSettings.tools;
1195
1243
  if (import_lodash.default.isArray(toolFilter)) {
1196
- return tools.filter((t) => systemTools.includes(t.definition.name) || toolFilter.includes(t.definition.name));
1244
+ return (0, import_frontend_tools2.prepareToolsForFrontendConversation)(
1245
+ tools.filter((t) => systemTools.includes(t.definition.name) || toolFilter.includes(t.definition.name)),
1246
+ currentFrontendTools
1247
+ );
1197
1248
  } else {
1198
- return tools;
1249
+ return (0, import_frontend_tools2.prepareToolsForFrontendConversation)(tools, currentFrontendTools);
1199
1250
  }
1200
1251
  }
1201
1252
  }
@@ -1237,6 +1288,9 @@ If information is missing, clearly state it in the summary.</Important>`;
1237
1288
  }
1238
1289
  const baseTools = await this.getAIEmployeeTools();
1239
1290
  const toolMap = await this.getToolsMap();
1291
+ for (const tool of baseTools) {
1292
+ toolMap.set(tool.definition.name, tool);
1293
+ }
1240
1294
  const availableSkills = await this.getAvailableSkills();
1241
1295
  const skillOwnedToolNames = new Set(availableSkills.flatMap((it) => it.tools ?? []));
1242
1296
  const baseToolNames = new Set(
@@ -98,8 +98,9 @@ const conversationMiddleware = (aiEmployee, options) => {
98
98
  })
99
99
  }),
100
100
  beforeAgent: async (state) => {
101
- const lastHumanMessageIndex = state.lastMessageIndex.lastHumanMessageIndex;
102
- const userMessages = state.messages.filter((x) => x.type === "human").slice(lastHumanMessageIndex).map((x) => x).map(convertHumanMessage);
101
+ const humanMessages = state.messages.filter((x) => x.type === "human");
102
+ const currentHumanMessageIndex = humanMessages.length;
103
+ const userMessages = (aiEmployee.userMessageCount ? humanMessages.slice(-aiEmployee.userMessageCount) : []).map((x) => x).map(convertHumanMessage);
103
104
  await aiEmployee.aiChatConversation.withTransaction(async (conversation, transaction) => {
104
105
  if (agentThread) {
105
106
  await aiEmployee.updateThread(transaction, agentThread);
@@ -111,6 +112,12 @@ const conversationMiddleware = (aiEmployee, options) => {
111
112
  await conversation.addMessages(userMessages);
112
113
  }
113
114
  });
115
+ return {
116
+ lastMessageIndex: {
117
+ ...state.lastMessageIndex,
118
+ lastHumanMessageIndex: currentHumanMessageIndex
119
+ }
120
+ };
114
121
  },
115
122
  afterAgent: async () => {
116
123
  aiEmployee.removeAbortController();
@@ -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
- export declare function getSystemPrompt({ aiEmployee, personal, task, environment, knowledgeBase, availableSkills, availableAIEmployees, }: {
9
+ export declare function getSystemPrompt({ aiEmployee, personal, task, environment, knowledgeBase, availableSkills, availableAIEmployees, webSearch, }: {
10
10
  aiEmployee: {
11
11
  nickname: string;
12
12
  about: string;
@@ -23,6 +23,7 @@ export declare function getSystemPrompt({ aiEmployee, personal, task, environmen
23
23
  timezone?: string;
24
24
  };
25
25
  knowledgeBase?: string;
26
+ webSearch?: boolean;
26
27
  availableSkills?: {
27
28
  name: string;
28
29
  description: string;
@@ -36,7 +36,8 @@ function getSystemPrompt({
36
36
  environment,
37
37
  knowledgeBase,
38
38
  availableSkills,
39
- availableAIEmployees
39
+ availableAIEmployees,
40
+ webSearch
40
41
  }) {
41
42
  const getDatabaseQuotingRules = () => {
42
43
  const quotingMap = {
@@ -52,6 +53,11 @@ function getSystemPrompt({
52
53
  };
53
54
  const quotingRules = getDatabaseQuotingRules();
54
55
  const isUnderscored = process.env.DB_UNDERSCORED === "true";
56
+ const webSearchInstructions = webSearch === true ? `
57
+ - When using web search, batch all independent search queries needed for this turn into one tool call whenever possible so they can run in parallel.
58
+ - Do not make repeated web search calls with the same or similar queries in the same turn.
59
+ - After receiving usable web search results, synthesize an answer from those results instead of searching again.
60
+ - Search again only when a critical fact is still missing and the new query is materially different from previous queries.` : "";
55
61
  return `You are **${aiEmployee.nickname}**, an AI employee working in **NocoBase**, the leading no-code platform.
56
62
 
57
63
  You assist developers in building enterprise management systems (CRM, ERP, OA, etc.) and help end users complete business tasks.
@@ -114,7 +120,7 @@ This prompt uses a structured tag system to organize your operational framework:
114
120
  5. **Tool Integration**
115
121
  - Utilize system-provided tools to enhance response quality
116
122
  - **NEVER refer to tool names when speaking to the USER.** Instead, just say what the tool is doing in natural language.
117
- - If you need additional information that you can get via tool calls, prefer that over asking the user.
123
+ - If you need additional information that you can get via tool calls, prefer that over asking the user.${webSearchInstructions}
118
124
  </global>
119
125
 
120
126
  <ai_employee>
@@ -20,6 +20,7 @@ type SanitizeAdditionalKwargsOptions = {
20
20
  type SanitizeAdditionalKwargsResult = {
21
21
  changed: boolean;
22
22
  additionalKwargs?: AdditionalKwargs;
23
+ malformedToolCalls?: unknown[];
23
24
  };
24
25
  export declare const sanitizeAdditionalKwargsForToolCalls: (additionalKwargs: AdditionalKwargs | undefined, parsedToolCalls?: unknown[] | null, options?: SanitizeAdditionalKwargsOptions) => SanitizeAdditionalKwargsResult;
25
26
  export declare const sanitizeLangChainAIMessage: (message: AIMessage, options?: SanitizeAdditionalKwargsOptions) => AIMessage<import("@langchain/core/dist/messages/message").MessageStructure<import("@langchain/core/dist/messages/message").MessageToolSet>>;
@@ -65,7 +65,8 @@ const sanitizeAdditionalKwargsForToolCalls = (additionalKwargs, parsedToolCalls,
65
65
  delete sanitized.tool_calls;
66
66
  return {
67
67
  changed: true,
68
- additionalKwargs: Object.keys(sanitized).length > 0 ? sanitized : void 0
68
+ additionalKwargs: Object.keys(sanitized).length > 0 ? sanitized : void 0,
69
+ malformedToolCalls: rawToolCalls
69
70
  };
70
71
  };
71
72
  const sanitizeLangChainAIMessage = (message, options = {}) => {
@@ -40,7 +40,7 @@ const convertAIMessage = ({
40
40
  model,
41
41
  aiMessage
42
42
  }) => {
43
- var _a;
43
+ var _a, _b;
44
44
  const message = aiMessage.content;
45
45
  const toolCalls = aiMessage.tool_calls;
46
46
  const tools = (_a = aiEmployee.skillSettings) == null ? void 0 : _a.tools;
@@ -91,20 +91,26 @@ const convertAIMessage = ({
91
91
  if (aiMessage.response_metadata) {
92
92
  values.metadata.response_metadata = aiMessage.response_metadata;
93
93
  }
94
- const additionalKwargs = (0, import_tool_call_sanitizer.sanitizeAdditionalKwargsForToolCalls)(aiMessage.additional_kwargs, toolCalls, {
94
+ const sanitizedToolCalls = (0, import_tool_call_sanitizer.sanitizeAdditionalKwargsForToolCalls)(aiMessage.additional_kwargs, toolCalls, {
95
95
  onDiscard: (info) => {
96
- var _a2, _b;
97
- (_b = aiEmployee.logger) == null ? void 0 : _b.warn("Discard malformed raw tool calls from AI message", {
96
+ var _a2, _b2;
97
+ (_b2 = aiEmployee.logger) == null ? void 0 : _b2.warn("Discard malformed raw tool calls from AI message", {
98
98
  phase: "convertAIMessage",
99
99
  messageId: aiMessage.id,
100
100
  invalidToolCallCount: ((_a2 = aiMessage.invalid_tool_calls) == null ? void 0 : _a2.length) ?? 0,
101
101
  ...info
102
102
  });
103
103
  }
104
- }).additionalKwargs;
104
+ });
105
+ const additionalKwargs = sanitizedToolCalls.additionalKwargs;
105
106
  if (additionalKwargs) {
106
107
  values.metadata.additional_kwargs = additionalKwargs;
107
108
  }
109
+ if ((_b = sanitizedToolCalls.malformedToolCalls) == null ? void 0 : _b.length) {
110
+ values.metadata.diagnostics = {
111
+ malformedToolCalls: sanitizedToolCalls.malformedToolCalls
112
+ };
113
+ }
108
114
  providerInstance.reshapeAIMessage({ aiMessage, values });
109
115
  return values;
110
116
  };
@@ -0,0 +1,24 @@
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 { Context } from '@nocobase/actions';
10
+ import type { AttachmentModel } from '@nocobase/plugin-file-manager';
11
+ export type AttachmentId = string | number;
12
+ export type AttachmentSource = {
13
+ dataSourceKey?: string;
14
+ collectionName?: string;
15
+ field?: string;
16
+ documentCache?: boolean;
17
+ trustworthy?: boolean;
18
+ };
19
+ export declare function appendAIFileAttachmentSource(body: unknown): void;
20
+ export declare function getAttachmentId(attachment: unknown): AttachmentId | null;
21
+ export declare function shouldSkipAttachmentSourceLookup(source: AttachmentSource | null): boolean;
22
+ export declare function getAttachmentSource(attachment: unknown): AttachmentSource | null;
23
+ export declare function findMessageAttachments(ctx: Context, attachments: unknown[]): Promise<Map<string, AttachmentModel>>;
24
+ export declare function getMessageAttachmentLookupKey(attachment: unknown): string;
@@ -0,0 +1,204 @@
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 attachments_exports = {};
28
+ __export(attachments_exports, {
29
+ appendAIFileAttachmentSource: () => appendAIFileAttachmentSource,
30
+ findMessageAttachments: () => findMessageAttachments,
31
+ getAttachmentId: () => getAttachmentId,
32
+ getAttachmentSource: () => getAttachmentSource,
33
+ getMessageAttachmentLookupKey: () => getMessageAttachmentLookupKey,
34
+ shouldSkipAttachmentSourceLookup: () => shouldSkipAttachmentSourceLookup
35
+ });
36
+ module.exports = __toCommonJS(attachments_exports);
37
+ const AI_FILES_ATTACHMENT_SOURCE = {
38
+ dataSourceKey: "main",
39
+ collectionName: "aiFiles"
40
+ };
41
+ function isRecord(value) {
42
+ return Boolean(value && typeof value === "object" && !Array.isArray(value));
43
+ }
44
+ function appendSourceToAttachmentRecord(record) {
45
+ if (!isRecord(record)) {
46
+ return;
47
+ }
48
+ const meta = {
49
+ ...isRecord(record.meta) ? record.meta : {},
50
+ source: AI_FILES_ATTACHMENT_SOURCE
51
+ };
52
+ if (typeof record.set === "function") {
53
+ const model = record;
54
+ model.set("meta", meta);
55
+ model.dataValues.meta = meta;
56
+ return;
57
+ }
58
+ record.meta = meta;
59
+ }
60
+ function appendAIFileAttachmentSource(body) {
61
+ if (!isRecord(body)) {
62
+ return;
63
+ }
64
+ if (body.data) {
65
+ appendSourceToAttachmentRecord(body.data);
66
+ return;
67
+ }
68
+ appendSourceToAttachmentRecord(body);
69
+ }
70
+ function getAttachmentId(attachment) {
71
+ if (!isRecord(attachment)) {
72
+ return null;
73
+ }
74
+ const id = attachment.id ?? attachment.filterByTk;
75
+ if (typeof id === "string" || typeof id === "number") {
76
+ return id;
77
+ }
78
+ return null;
79
+ }
80
+ function shouldSkipAttachmentSourceLookup(source) {
81
+ return (source == null ? void 0 : source.trustworthy) === true;
82
+ }
83
+ function getAttachmentSource(attachment) {
84
+ if (!isRecord(attachment) || !isRecord(attachment.source)) {
85
+ return null;
86
+ }
87
+ const { dataSourceKey, collectionName, field, documentCache, trustworthy } = attachment.source;
88
+ const source = {
89
+ dataSourceKey: typeof dataSourceKey === "string" && dataSourceKey ? dataSourceKey : "main",
90
+ ...typeof collectionName === "string" && collectionName ? { collectionName } : {},
91
+ ...typeof field === "string" ? { field } : {},
92
+ ...typeof documentCache === "boolean" ? { documentCache } : {},
93
+ ...trustworthy === true ? { trustworthy } : {}
94
+ };
95
+ if (!source.trustworthy && !source.collectionName) {
96
+ return null;
97
+ }
98
+ return source;
99
+ }
100
+ function getSourceDatabase(ctx, dataSourceKey) {
101
+ var _a, _b, _c;
102
+ if (!dataSourceKey || dataSourceKey === "main") {
103
+ return ctx.db;
104
+ }
105
+ const dataSource = (_b = (_a = ctx.app.dataSourceManager) == null ? void 0 : _a.dataSources) == null ? void 0 : _b.get(dataSourceKey);
106
+ return ((_c = dataSource == null ? void 0 : dataSource.collectionManager) == null ? void 0 : _c.db) ?? null;
107
+ }
108
+ function getLookupKey(lookup) {
109
+ const dataSourceKey = lookup.source.dataSourceKey || "main";
110
+ const collectionName = lookup.source.collectionName;
111
+ return `${dataSourceKey}:${collectionName}:${lookup.id}`;
112
+ }
113
+ function isValidFileCollectionSource(db, lookup) {
114
+ var _a, _b, _c;
115
+ const collectionName = lookup.source.collectionName;
116
+ const collection = db.getCollection(collectionName);
117
+ if (((_a = collection == null ? void 0 : collection.options) == null ? void 0 : _a.template) !== "file") {
118
+ return false;
119
+ }
120
+ if (collectionName === "aiFiles") {
121
+ return true;
122
+ }
123
+ if (!lookup.source.field) {
124
+ return false;
125
+ }
126
+ return ((_c = (_b = db.getFieldByPath(lookup.source.field)) == null ? void 0 : _b.options) == null ? void 0 : _c.target) === collectionName;
127
+ }
128
+ async function findSourceAttachments(ctx, lookups) {
129
+ var _a;
130
+ const attachmentsByLookup = /* @__PURE__ */ new Map();
131
+ const groups = /* @__PURE__ */ new Map();
132
+ for (const lookup of lookups) {
133
+ const dataSourceKey = lookup.source.dataSourceKey || "main";
134
+ const collectionName = lookup.source.collectionName;
135
+ const groupKey = `${dataSourceKey}:${collectionName}`;
136
+ groups.set(groupKey, [...groups.get(groupKey) ?? [], lookup]);
137
+ }
138
+ for (const [groupKey, groupLookups] of groups.entries()) {
139
+ const [dataSourceKey, collectionName] = groupKey.split(":");
140
+ const db = getSourceDatabase(ctx, dataSourceKey);
141
+ if (!db) {
142
+ continue;
143
+ }
144
+ const validLookups = groupLookups.filter((lookup) => isValidFileCollectionSource(db, lookup));
145
+ if (!validLookups.length) {
146
+ continue;
147
+ }
148
+ const filter = {
149
+ id: {
150
+ $in: [...new Set(validLookups.map((lookup) => lookup.id))]
151
+ }
152
+ };
153
+ if (collectionName === "aiFiles") {
154
+ filter.createdById = (_a = ctx.auth) == null ? void 0 : _a.user.id;
155
+ }
156
+ const records = await db.getRepository(collectionName).find({ filter });
157
+ for (const record of records) {
158
+ const attachment = record.toJSON();
159
+ attachmentsByLookup.set(`${dataSourceKey}:${collectionName}:${attachment.id}`, attachment);
160
+ }
161
+ }
162
+ return attachmentsByLookup;
163
+ }
164
+ async function findMessageAttachments(ctx, attachments) {
165
+ const lookups = [];
166
+ for (const attachment of attachments) {
167
+ const source = getAttachmentSource(attachment);
168
+ if (!source || shouldSkipAttachmentSourceLookup(source)) {
169
+ continue;
170
+ }
171
+ const id = getAttachmentId(attachment);
172
+ if (id == null) {
173
+ continue;
174
+ }
175
+ lookups.push({
176
+ id,
177
+ source
178
+ });
179
+ }
180
+ return findSourceAttachments(ctx, lookups);
181
+ }
182
+ function getMessageAttachmentLookupKey(attachment) {
183
+ const source = getAttachmentSource(attachment);
184
+ if (!source || shouldSkipAttachmentSourceLookup(source)) {
185
+ return null;
186
+ }
187
+ const id = getAttachmentId(attachment);
188
+ if (id == null) {
189
+ return null;
190
+ }
191
+ return getLookupKey({
192
+ id,
193
+ source
194
+ });
195
+ }
196
+ // Annotate the CommonJS export names for ESM import in node:
197
+ 0 && (module.exports = {
198
+ appendAIFileAttachmentSource,
199
+ findMessageAttachments,
200
+ getAttachmentId,
201
+ getAttachmentSource,
202
+ getMessageAttachmentLookupKey,
203
+ shouldSkipAttachmentSourceLookup
204
+ });
@@ -57,6 +57,11 @@ var ai_conversations_default = (0, import_database.defineCollection)({
57
57
  defaultValue: "main-agent",
58
58
  allowNull: false
59
59
  },
60
+ {
61
+ name: "scope",
62
+ type: "string",
63
+ index: true
64
+ },
60
65
  {
61
66
  name: "user",
62
67
  type: "belongsTo",
@@ -0,0 +1,10 @@
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
+ declare const _default: import("@nocobase/database").CollectionOptions;
10
+ export default _default;