@nocobase/plugin-ai 2.2.0-beta.8 → 2.3.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 (477) hide show
  1. package/client-v2.d.ts +1 -0
  2. package/dist/ai/docs/nocobase/ai-employees/scenarios/company-background-research.md +125 -0
  3. package/dist/ai/docs/nocobase/api/app/env.md +28 -1
  4. package/dist/ai/docs/nocobase/api/cli/config/delete.md +8 -6
  5. package/dist/ai/docs/nocobase/api/cli/config/get.md +8 -6
  6. package/dist/ai/docs/nocobase/api/cli/config/index.md +37 -26
  7. package/dist/ai/docs/nocobase/api/cli/config/set.md +14 -8
  8. package/dist/ai/docs/nocobase/building-tips/operations-dashboard.md +513 -0
  9. package/dist/ai/docs/nocobase/file-manager/field-attachment.md +6 -0
  10. package/dist/ai/docs/nocobase/file-manager/file-preview/index.md +3 -12
  11. package/dist/ai/docs/nocobase/file-manager/stable-url.md +87 -0
  12. package/dist/ai/docs/nocobase/file-manager/storage/aliyun-oss.md +9 -0
  13. package/dist/ai/docs/nocobase/file-manager/storage/amazon-s3.md +9 -0
  14. package/dist/ai/docs/nocobase/file-manager/storage/index.md +23 -0
  15. package/dist/ai/docs/nocobase/file-manager/storage/local.md +12 -1
  16. package/dist/ai/docs/nocobase/file-manager/storage/migrate-to-s3-pro.md +269 -0
  17. package/dist/ai/docs/nocobase/file-manager/storage/tencent-cos.md +9 -0
  18. package/dist/ai/docs/nocobase/get-started/deployment/production.md +24 -2
  19. package/dist/ai/docs/nocobase/get-started/installation/docker-caddy.mdx +178 -0
  20. package/dist/ai/docs/nocobase/get-started/installation/docker-nginx.mdx +179 -0
  21. package/dist/ai/docs/nocobase/get-started/installation/docker.mdx +118 -1
  22. package/dist/ai/docs/nocobase/get-started/installation/env.md +47 -4
  23. package/dist/ai/docs/nocobase/index.md +1 -1
  24. package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/comment.md +107 -0
  25. package/dist/ai/docs/nocobase/interface-builder/index.md +7 -6
  26. package/dist/ai/docs/nocobase/interface-builder/ui-layout/desktop.md +97 -0
  27. package/dist/ai/docs/nocobase/interface-builder/ui-layout/index.md +50 -0
  28. package/dist/ai/docs/nocobase/interface-builder/ui-layout/mobile.md +133 -0
  29. package/dist/ai/docs/nocobase/multi-app/multi-app-vs-multi-portal-vs-multi-space.md +159 -0
  30. package/dist/ai/docs/nocobase/multi-app/multi-portal/index.md +195 -0
  31. package/dist/ai/docs/nocobase/nocobase-cli/production/index.md +10 -0
  32. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/caddy.md +15 -2
  33. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/index.md +1 -1
  34. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/nginx.md +16 -2
  35. package/dist/ai/docs/nocobase/ops-management/version-control/index.md +1 -0
  36. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-comment/index.md +14 -0
  37. package/dist/ai/docs/nocobase/runjs/context/ai.md +206 -0
  38. package/dist/ai/docs/nocobase/security/guide.md +23 -0
  39. package/dist/ai/docs/nocobase/tutorials/index.md +20 -1
  40. package/dist/ai/docs/nocobase/workflow/development/api.md +259 -77
  41. package/dist/ai/docs/nocobase/workflow/development/index.md +2 -1
  42. package/dist/ai/docs/nocobase/workflow/development/migration.md +319 -0
  43. package/dist/ai/docs/nocobase/workflow/development/node.md +84 -51
  44. package/dist/ai/docs/nocobase/workflow/development/trigger.md +122 -20
  45. package/dist/ai/tools/formFiller.js +4 -3
  46. package/dist/ai/tools/subAgentWebSearch.js +20 -15
  47. package/dist/client/23.65ea8c37cd4b884b.js +10 -0
  48. package/dist/client/264.cc98933ef65608b6.js +10 -0
  49. package/dist/client/336.7a8a8853196ad779.js +11 -0
  50. package/dist/client/372.40eb52905e3f3049.js +10 -0
  51. package/dist/client/416.92b74ca47e4099c4.js +10 -0
  52. package/dist/client/446.d63c38d0309fe250.js +10 -0
  53. package/dist/client/525.203778500aca5d05.js +10 -0
  54. package/dist/client/663.680bcf6272a8504d.js +10 -0
  55. package/dist/client/681.399948c18d753667.js +10 -0
  56. package/dist/client/705.380279da896021fb.js +10 -0
  57. package/dist/client/ai-employees/1.x/selector/AIContextCollector.d.ts +1 -4
  58. package/dist/client/ai-employees/permissions/PermissionsTab.d.ts +21 -5
  59. package/dist/client/index.d.ts +15 -20
  60. package/dist/client/index.js +8 -8
  61. package/dist/client/workflow/nodes/employee/index.d.ts +2 -23
  62. package/dist/client/workflow/nodes/llm/index.d.ts +2 -52
  63. package/dist/client/workflow/triggers/ai-employee/index.d.ts +2 -83
  64. package/dist/client-v2/23.1bcb6986b40723d8.js +10 -0
  65. package/dist/client-v2/264.be92ff6a4d2612f1.js +10 -0
  66. package/dist/client-v2/336.e406470429e0670e.js +11 -0
  67. package/dist/client-v2/372.8cc3fde09c9bec77.js +10 -0
  68. package/dist/client-v2/406.341be51205c674e0.js +10 -0
  69. package/dist/client-v2/416.0e1c2d9cde43b83d.js +10 -0
  70. package/dist/client-v2/446.073d450882db29fd.js +10 -0
  71. package/dist/client-v2/457.d72febb89e88fc00.js +10 -0
  72. package/dist/client-v2/663.342341f0b2b412d8.js +10 -0
  73. package/dist/client-v2/681.082f4f1c7b841983.js +10 -0
  74. package/dist/client-v2/705.1d10027ff8cfdf79.js +10 -0
  75. package/dist/{client/ai-employees/admin/AvatarSelect.d.ts → client-v2/ai-employees/AIEmployeeDropdown.d.ts} +8 -9
  76. package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +9 -2
  77. package/dist/{client → client-v2}/ai-employees/AddContextButton.d.ts +1 -1
  78. package/dist/{client → client-v2}/ai-employees/ai-coding/AICodingButton.d.ts +2 -1
  79. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Actions.d.ts +2 -4
  80. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/AddLLMModal.d.ts +2 -4
  81. package/dist/client-v2/ai-employees/chatbox/components/Attachments.d.ts +27 -0
  82. package/dist/{client/ai-employees/permissions/Permissions.d.ts → client-v2/ai-employees/chatbox/components/ChatBox.d.ts} +2 -2
  83. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatBoxLayout.d.ts +1 -1
  84. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ContextItem.d.ts +1 -1
  85. package/dist/{client/ai-employees/admin/Employees.d.ts → client-v2/ai-employees/chatbox/components/DebugPanel.d.ts} +1 -1
  86. package/dist/{client/ai-employees/chatbox/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/Markdown.d.ts} +12 -5
  87. package/dist/{client/ai-employees/admin/ProfileSettings.d.ts → client-v2/ai-employees/chatbox/components/MessageContent.d.ts} +3 -2
  88. package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +39 -0
  89. package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolCard.d.ts +7 -5
  90. package/dist/{client/ai-employees/admin/datasource/components/basic → client-v2/ai-employees/chatbox/components}/index.d.ts +5 -2
  91. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChat.d.ts +21 -22
  92. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +3 -2
  93. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +2 -2
  94. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +8 -4
  95. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useToolCallActions.d.ts +1 -1
  96. package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +46 -0
  97. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +1 -1
  98. package/dist/{client → client-v2}/ai-employees/chatbox/model.d.ts +9 -2
  99. package/dist/client-v2/ai-employees/chatbox/roles.d.ts +162 -0
  100. package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +1 -49
  101. package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +2 -19
  102. package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +1 -46
  103. package/dist/{client → client-v2}/ai-employees/chatbox/stores/chat-tool-call.d.ts +1 -15
  104. package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +30 -0
  105. package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +31 -3
  106. package/dist/{client/ai-employees/chatbox/conversations/common.d.ts → client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts} +21 -4
  107. package/dist/client-v2/ai-employees/chatbox/utils/normalizeTriggerTaskOptions.d.ts +19 -0
  108. package/dist/{client → client-v2}/ai-employees/chatbox/utils.d.ts +26 -6
  109. package/dist/{client/ai-employees/data-visualization/context.d.ts → client-v2/ai-employees/context/chart-config.d.ts} +1 -1
  110. package/dist/{client → client-v2}/ai-employees/context/code-editor.d.ts +1 -1
  111. package/dist/{client → client-v2}/ai-employees/context/datasource.d.ts +1 -1
  112. package/dist/{client → client-v2}/ai-employees/context/flow-models.d.ts +1 -1
  113. package/dist/{client/ai-employees/admin/datasource/components/DatasourceSettingDetail.d.ts → client-v2/ai-employees/data-modeling/setup.d.ts} +6 -5
  114. package/dist/{client → client-v2}/ai-employees/datasource/DatasourceSelector.d.ts +6 -2
  115. package/dist/{client/ai-employees/admin/datasource/flow-models/DatasourceSettingModel.d.ts → client-v2/ai-employees/flow/index.d.ts} +4 -6
  116. package/dist/{client → client-v2}/ai-employees/form-filler/tools/index.d.ts +1 -1
  117. package/dist/{client → client-v2}/ai-employees/stores/ai-selection.d.ts +4 -4
  118. package/dist/{client → client-v2}/ai-employees/stores/dialog-controller.d.ts +4 -4
  119. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportCard.d.ts +2 -2
  120. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportModal.d.ts +2 -2
  121. package/dist/{client/ai-employees/1.x/selector/withAISelectable.d.ts → client-v2/ai-employees/tools/ChartGeneratorCard.d.ts} +5 -4
  122. package/dist/{client/ai-employees/ai-coding/ui → client-v2/ai-employees/tools}/CodeToolCard.d.ts +1 -1
  123. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingCard.d.ts +3 -5
  124. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingModal.d.ts +4 -6
  125. package/dist/{client/ai-employees/sub-agents/ui → client-v2/ai-employees/tools}/SubAgentDispatchCard.d.ts +4 -9
  126. package/dist/{client/ai-employees/AISettingsProvider.d.ts → client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts} +6 -8
  127. package/dist/{client/ai-employees/workflow-tasks/ui → client-v2/ai-employees/tools}/WorkflowTaskOutputCard.d.ts +7 -2
  128. package/dist/{client/ai-employees/ai-coding/tools/context-tools.d.ts → client-v2/ai-employees/tools/ai-coding.d.ts} +3 -1
  129. package/dist/client-v2/ai-employees/tools/business-report-utils.d.ts +45 -0
  130. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/CollectionNode.d.ts +2 -3
  131. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Diagram.d.ts +1 -1
  132. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Table.d.ts +2 -2
  133. package/dist/client-v2/ai-employees/tools/data-modeling/legacy-template.d.ts +13 -0
  134. package/dist/client-v2/ai-employees/tools/data-modeling/runtime.d.ts +15 -0
  135. package/dist/{client/ai-employees → client-v2/ai-employees/tools}/data-modeling/types.d.ts +27 -4
  136. package/dist/client-v2/ai-employees/tools/data-modeling/useFieldInterfaceOptions.d.ts +151 -0
  137. package/dist/{client/ai-employees/data-visualization/tools/index.d.ts → client-v2/ai-employees/tools/data-visualization.d.ts} +1 -1
  138. package/dist/client-v2/ai-employees/tools/index.d.ts +32 -0
  139. package/dist/client-v2/ai-employees/types.d.ts +101 -7
  140. package/dist/client-v2/components/RemoteSelect.d.ts +43 -0
  141. package/dist/{client → client-v2}/debug-logger.d.ts +2 -2
  142. package/dist/client-v2/f0053e745af0ad03.svg +50 -0
  143. package/dist/client-v2/index.d.ts +9 -9
  144. package/dist/client-v2/index.js +37 -1
  145. package/dist/client-v2/llm-providers/forms.d.ts +44 -0
  146. package/dist/client-v2/llm-providers/index.d.ts +24 -0
  147. package/dist/{client/ai-employees/ai-coding/tools/index.d.ts → client-v2/llm-services/utils.d.ts} +5 -3
  148. package/dist/client-v2/locale.d.ts +14 -0
  149. package/dist/client-v2/manager/ai-manager.d.ts +55 -0
  150. package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +33 -0
  151. package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +44 -0
  152. package/dist/client-v2/pages/AdminSettingsPage.d.ts +24 -0
  153. package/dist/client-v2/pages/DatasourceSettingsPage.d.ts +62 -0
  154. package/dist/client-v2/pages/EmployeesPage.d.ts +62 -0
  155. package/dist/client-v2/pages/LLMServicesPage.d.ts +75 -0
  156. package/dist/client-v2/pages/MCPSettingsPage.d.ts +73 -0
  157. package/dist/client-v2/pages/drawerWidth.d.ts +10 -0
  158. package/dist/client-v2/pages/permissions/Permissions.d.ts +67 -0
  159. package/dist/client-v2/pages/permissions/PermissionsTab.d.ts +12 -0
  160. package/dist/client-v2/pages/useUnsavedChangesBeforeClose.d.ts +29 -0
  161. package/dist/client-v2/plugin.d.ts +33 -0
  162. package/dist/client-v2/repositories/AIConfigRepository.d.ts +3 -23
  163. package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +20 -0
  164. package/dist/client-v2/workflow/components/FormValueRegistry.d.ts +12 -0
  165. package/dist/{client/components/ListCollapse.d.ts → client-v2/workflow/components/WorkflowListCollapse.d.ts} +4 -4
  166. package/dist/client-v2/workflow/constants.d.ts +26 -0
  167. package/dist/client-v2/workflow/nodes/employee/components/AIEmployeeFieldset.d.ts +11 -0
  168. package/dist/{client/ai-employees/common/CodeHighlight.d.ts → client-v2/workflow/nodes/employee/components/AIEmployeeSelect.d.ts} +5 -6
  169. package/dist/{client/ai-employees/ContextAwareTooltip.d.ts → client-v2/workflow/nodes/employee/components/Assignees.d.ts} +2 -1
  170. package/dist/client-v2/workflow/nodes/employee/components/FeedbackSettings.d.ts +17 -0
  171. package/dist/client-v2/workflow/nodes/employee/components/FileInputs.d.ts +11 -0
  172. package/dist/{client/ai-employees/AIEmployeesProvider.d.ts → client-v2/workflow/nodes/employee/components/MessageInputs.d.ts} +2 -3
  173. package/dist/client-v2/workflow/nodes/employee/components/ModelOptions.d.ts +17 -0
  174. package/dist/{client/ai-employees/admin/datasource/components/basic/CollectionCascader.d.ts → client-v2/workflow/nodes/employee/components/SkillSettings.d.ts} +6 -3
  175. package/dist/client-v2/workflow/nodes/employee/components/StructuredOutput.d.ts +11 -0
  176. package/dist/client-v2/workflow/nodes/employee/components/UserInput.d.ts +18 -0
  177. package/dist/client-v2/workflow/nodes/employee/components/WebSearchOptions.d.ts +16 -0
  178. package/dist/client-v2/workflow/nodes/employee/index.d.ts +23 -0
  179. package/dist/{client/ai-employees/AIEmployeeListItem.d.ts → client-v2/workflow/nodes/llm/components/LLMFieldset.d.ts} +3 -5
  180. package/dist/{client/admin-settings/AdminSettings.d.ts → client-v2/workflow/nodes/llm/components/Messages.d.ts} +2 -1
  181. package/dist/client-v2/workflow/nodes/llm/components/StructuredOutput.d.ts +11 -0
  182. package/dist/client-v2/workflow/nodes/llm/index.d.ts +30 -0
  183. package/dist/{client/ai-employees/1.x/selector/BlockSelector.d.ts → client-v2/workflow/register.d.ts} +2 -6
  184. package/dist/client-v2/workflow/triggers/ai-employee/AIEmployeeTriggerConfig.d.ts +11 -0
  185. package/dist/client-v2/workflow/triggers/ai-employee/Parameters.d.ts +11 -0
  186. package/dist/client-v2/workflow/triggers/ai-employee/index.d.ts +25 -0
  187. package/dist/client-v2/workflow/types.d.ts +128 -0
  188. package/dist/externalVersion.js +20 -25
  189. package/dist/locale/en-US.json +50 -1
  190. package/dist/locale/zh-CN.json +50 -1
  191. package/dist/node_modules/@langchain/mistralai/LICENSE +21 -0
  192. package/dist/node_modules/@langchain/mistralai/dist/_virtual/rolldown_runtime.cjs +25 -0
  193. package/dist/node_modules/@langchain/mistralai/dist/chat_models.cjs +859 -0
  194. package/dist/node_modules/@langchain/mistralai/dist/chat_models.d.cts +541 -0
  195. package/dist/node_modules/@langchain/mistralai/dist/chat_models.d.ts +541 -0
  196. package/dist/node_modules/@langchain/mistralai/dist/chat_models.js +857 -0
  197. package/dist/node_modules/@langchain/mistralai/dist/embeddings.cjs +140 -0
  198. package/dist/node_modules/@langchain/mistralai/dist/embeddings.d.cts +116 -0
  199. package/dist/node_modules/@langchain/mistralai/dist/embeddings.d.ts +116 -0
  200. package/dist/node_modules/@langchain/mistralai/dist/embeddings.js +139 -0
  201. package/dist/node_modules/@langchain/mistralai/dist/index.cjs +21 -0
  202. package/dist/node_modules/@langchain/mistralai/dist/index.d.cts +4 -0
  203. package/dist/node_modules/@langchain/mistralai/dist/index.d.ts +4 -0
  204. package/dist/node_modules/@langchain/mistralai/dist/index.js +5 -0
  205. package/dist/node_modules/@langchain/mistralai/dist/llms.cjs +275 -0
  206. package/dist/node_modules/@langchain/mistralai/dist/llms.d.cts +147 -0
  207. package/dist/node_modules/@langchain/mistralai/dist/llms.d.ts +147 -0
  208. package/dist/node_modules/@langchain/mistralai/dist/llms.js +274 -0
  209. package/dist/node_modules/@langchain/mistralai/dist/utils.cjs +61 -0
  210. package/dist/node_modules/@langchain/mistralai/dist/utils.js +59 -0
  211. package/dist/node_modules/@langchain/mistralai/package.json +1 -0
  212. package/dist/node_modules/@langchain/xai/dist/index.cjs +2 -2
  213. package/dist/node_modules/@langchain/xai/package.json +1 -1
  214. package/dist/node_modules/fs-extra/package.json +1 -1
  215. package/dist/node_modules/jsonrepair/package.json +1 -1
  216. package/dist/node_modules/just-bash/package.json +1 -1
  217. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  218. package/dist/node_modules/openai/package.json +1 -1
  219. package/dist/node_modules/zod/package.json +1 -1
  220. package/dist/server/ai-employees/ai-employee.d.ts +1 -0
  221. package/dist/server/ai-employees/ai-employee.js +44 -7
  222. package/dist/server/ai-employees/checkpoints/cleaner.d.ts +2 -0
  223. package/dist/server/ai-employees/checkpoints/cleaner.js +11 -1
  224. package/dist/server/ai-employees/middleware/conversation.d.ts +2 -0
  225. package/dist/server/ai-employees/middleware/conversation.js +2 -1
  226. package/dist/server/ai-employees/prompts.d.ts +2 -1
  227. package/dist/server/ai-employees/prompts.js +8 -2
  228. package/dist/server/ai-employees/tool-call-sanitizer.d.ts +1 -0
  229. package/dist/server/ai-employees/tool-call-sanitizer.js +2 -1
  230. package/dist/server/ai-employees/utils.d.ts +3 -1
  231. package/dist/server/ai-employees/utils.js +13 -5
  232. package/dist/server/attachments.d.ts +24 -0
  233. package/dist/server/attachments.js +204 -0
  234. package/dist/server/collections/ai-usage-events.d.ts +10 -0
  235. package/dist/server/collections/ai-usage-events.js +183 -0
  236. package/dist/server/document-loader/cached.d.ts +1 -0
  237. package/dist/server/document-loader/cached.js +18 -9
  238. package/dist/server/document-loader/loader.d.ts +0 -1
  239. package/dist/server/document-loader/loader.js +25 -8
  240. package/dist/server/document-loader/types.d.ts +7 -0
  241. package/dist/server/llm-providers/anthropic.d.ts +2 -1
  242. package/dist/server/llm-providers/anthropic.js +1 -3
  243. package/dist/server/llm-providers/dashscope.d.ts +2 -1
  244. package/dist/server/llm-providers/dashscope.js +16 -1
  245. package/dist/server/llm-providers/deepseek.d.ts +2 -1
  246. package/dist/server/llm-providers/deepseek.js +33 -2
  247. package/dist/server/llm-providers/google-genai.d.ts +1 -1
  248. package/dist/server/llm-providers/google-genai.js +1 -5
  249. package/dist/server/llm-providers/kimi/provider.d.ts +2 -1
  250. package/dist/server/llm-providers/kimi/provider.js +22 -2
  251. package/dist/server/llm-providers/mistral.d.ts +96 -0
  252. package/dist/server/llm-providers/mistral.js +325 -0
  253. package/dist/server/llm-providers/openai/completions.d.ts +2 -1
  254. package/dist/server/llm-providers/openai/completions.js +17 -1
  255. package/dist/server/llm-providers/openai/responses.d.ts +2 -1
  256. package/dist/server/llm-providers/openai/responses.js +17 -1
  257. package/dist/server/llm-providers/orcarouter.d.ts +35 -0
  258. package/dist/server/llm-providers/orcarouter.js +155 -0
  259. package/dist/server/llm-providers/provider.d.ts +16 -4
  260. package/dist/server/llm-providers/provider.js +60 -18
  261. package/dist/server/manager/ai-chat-conversation.js +2 -0
  262. package/dist/server/manager/ai-context-datasource-manager.js +34 -7
  263. package/dist/server/manager/ai-manager.d.ts +2 -1
  264. package/dist/server/manager/ai-manager.js +4 -1
  265. package/dist/server/manager/ai-usage-events.d.ts +49 -0
  266. package/dist/server/manager/ai-usage-events.js +195 -0
  267. package/dist/server/plugin.js +18 -0
  268. package/dist/server/resource/aiConversations.js +44 -1
  269. package/dist/server/utils.d.ts +5 -2
  270. package/dist/server/utils.js +11 -19
  271. package/dist/server/workflow/nodes/employee/files.d.ts +3 -1
  272. package/dist/server/workflow/nodes/employee/files.js +31 -5
  273. package/dist/server/workflow/nodes/employee/index.js +92 -46
  274. package/dist/server/workflow/nodes/employee/tools.js +8 -1
  275. package/package.json +6 -5
  276. package/dist/client/119.c6bf8c6433167d81.js +0 -10
  277. package/dist/client/170.d98eacdc00d9d527.js +0 -10
  278. package/dist/client/228.b4b709f93b86b6b9.js +0 -10
  279. package/dist/client/280.003b9e9788599244.js +0 -10
  280. package/dist/client/290.0f7f441d8a94f03c.js +0 -10
  281. package/dist/client/331.d547c95410476a69.js +0 -10
  282. package/dist/client/406.15c09d98faa2ccf1.js +0 -10
  283. package/dist/client/428.e9f38da3b0d8b498.js +0 -10
  284. package/dist/client/462.d172d0fe91519e35.js +0 -10
  285. package/dist/client/486.dcac8f3fcec19c33.js +0 -10
  286. package/dist/client/502.2b4a51e0a8122e52.js +0 -10
  287. package/dist/client/525.33a9c8ec28be4ec4.js +0 -10
  288. package/dist/client/559.a0f2f1cc2be3c039.js +0 -10
  289. package/dist/client/561.7ec804ef39ec7dcd.js +0 -10
  290. package/dist/client/580.35ba54ff91b7fe6d.js +0 -10
  291. package/dist/client/597.b0d64948d74cf6cb.js +0 -10
  292. package/dist/client/604.89c674f35b52b4ef.js +0 -10
  293. package/dist/client/614.aa766080f6b99aab.js +0 -10
  294. package/dist/client/646.d4483b4ff23da0a0.js +0 -10
  295. package/dist/client/687.224e569a99cae4bb.js +0 -10
  296. package/dist/client/699.57c0a1acb723202a.js +0 -10
  297. package/dist/client/711.92cd94681fde7e05.js +0 -10
  298. package/dist/client/758.a9741e81911e53c3.js +0 -10
  299. package/dist/client/768.5177bff46ae71a5b.js +0 -10
  300. package/dist/client/792.abb57765453bcbcc.js +0 -10
  301. package/dist/client/820.f72ef2462b61d812.js +0 -10
  302. package/dist/client/832.0cf69e3f43c320b2.js +0 -10
  303. package/dist/client/927.d95c74ebb8fd51c9.js +0 -10
  304. package/dist/client/ai-employees/1.x/selector/AISelectorProvider.d.ts +0 -33
  305. package/dist/client/ai-employees/ProfileCard.d.ts +0 -15
  306. package/dist/client/ai-employees/admin/ChatSettings.d.ts +0 -10
  307. package/dist/client/ai-employees/admin/DataSourceSettings.d.ts +0 -10
  308. package/dist/client/ai-employees/admin/EnableSwitch.d.ts +0 -10
  309. package/dist/client/ai-employees/admin/InputsFormSettings.d.ts +0 -10
  310. package/dist/client/ai-employees/admin/KnowledgeBaseSettings.d.ts +0 -10
  311. package/dist/client/ai-employees/admin/ModelSettings.d.ts +0 -10
  312. package/dist/client/ai-employees/admin/SkillSettings.d.ts +0 -19
  313. package/dist/client/ai-employees/admin/SystemPrompt.d.ts +0 -10
  314. package/dist/client/ai-employees/admin/Templates.d.ts +0 -10
  315. package/dist/client/ai-employees/admin/ToolsSettings.d.ts +0 -17
  316. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingForm.d.ts +0 -10
  317. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingGrid.d.ts +0 -10
  318. package/dist/client/ai-employees/admin/datasource/components/basic/FieldsTransfer.d.ts +0 -17
  319. package/dist/client/ai-employees/admin/datasource/components/form-steps/CollectionSetting.d.ts +0 -17
  320. package/dist/client/ai-employees/admin/datasource/components/form-steps/FieldsSetting.d.ts +0 -15
  321. package/dist/client/ai-employees/admin/datasource/components/form-steps/FilterSetting.d.ts +0 -17
  322. package/dist/client/ai-employees/admin/datasource/components/form-steps/Preview.d.ts +0 -13
  323. package/dist/client/ai-employees/admin/datasource/components/form-steps/SortSetting.d.ts +0 -15
  324. package/dist/client/ai-employees/admin/datasource/components/form-steps/index.d.ts +0 -13
  325. package/dist/client/ai-employees/admin/datasource/components/index.d.ts +0 -9
  326. package/dist/client/ai-employees/admin/datasource/context.d.ts +0 -17
  327. package/dist/client/ai-employees/admin/datasource/flow-models/index.d.ts +0 -9
  328. package/dist/client/ai-employees/admin/datasource/index.d.ts +0 -10
  329. package/dist/client/ai-employees/admin/hooks.d.ts +0 -39
  330. package/dist/client/ai-employees/admin/mcp/MCPSettings.d.ts +0 -10
  331. package/dist/client/ai-employees/admin/mcp/MCPToolsList.d.ts +0 -19
  332. package/dist/client/ai-employees/admin/mcp/context.d.ts +0 -15
  333. package/dist/client/ai-employees/admin/mcp/schemas.d.ts +0 -1314
  334. package/dist/client/ai-employees/ai-coding/CodeHistory.d.ts +0 -10
  335. package/dist/client/ai-employees/ai-coding/markdown/Code.d.ts +0 -16
  336. package/dist/client/ai-employees/avatars.d.ts +0 -9
  337. package/dist/client/ai-employees/built-in/utils.d.ts +0 -15
  338. package/dist/client/ai-employees/business-report/tools/index.d.ts +0 -10
  339. package/dist/client/ai-employees/business-report/ui/report-utils.d.ts +0 -38
  340. package/dist/client/ai-employees/chart-generator/tools/index.d.ts +0 -10
  341. package/dist/client/ai-employees/chart-generator/ui/ECharts.d.ts +0 -13
  342. package/dist/client/ai-employees/chatbox/AIThinking.d.ts +0 -12
  343. package/dist/client/ai-employees/chatbox/Attachment.d.ts +0 -14
  344. package/dist/client/ai-employees/chatbox/AttachmentsHeader.d.ts +0 -10
  345. package/dist/client/ai-employees/chatbox/ChatBox.d.ts +0 -12
  346. package/dist/client/ai-employees/chatbox/ContextItemsHeader.d.ts +0 -10
  347. package/dist/client/ai-employees/chatbox/DebugPanel.d.ts +0 -16
  348. package/dist/client/ai-employees/chatbox/EditMessageHeader.d.ts +0 -10
  349. package/dist/client/ai-employees/chatbox/HintMessageHeader.d.ts +0 -10
  350. package/dist/client/ai-employees/chatbox/MessageRenderer.d.ts +0 -33
  351. package/dist/client/ai-employees/chatbox/SenderFooter.d.ts +0 -13
  352. package/dist/client/ai-employees/chatbox/SenderHeader.d.ts +0 -10
  353. package/dist/client/ai-employees/chatbox/SenderPrefix.d.ts +0 -10
  354. package/dist/client/ai-employees/chatbox/Upload.d.ts +0 -12
  355. package/dist/client/ai-employees/chatbox/VirtualList.d.ts +0 -28
  356. package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +0 -13
  357. package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +0 -13
  358. package/dist/client/ai-employees/chatbox/conversations/index.d.ts +0 -9
  359. package/dist/client/ai-employees/chatbox/generative-ui/DefaultToolCard.d.ts +0 -16
  360. package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +0 -18
  361. package/dist/client/ai-employees/chatbox/hooks/useUploadFiles.d.ts +0 -12
  362. package/dist/client/ai-employees/chatbox/markdown/ECharts.d.ts +0 -10
  363. package/dist/client/ai-employees/chatbox/markdown/Form.d.ts +0 -10
  364. package/dist/client/ai-employees/chatbox/markdown/Generating.d.ts +0 -10
  365. package/dist/client/ai-employees/chatbox/markdown/Markdown.d.ts +0 -13
  366. package/dist/client/ai-employees/chatbox/roles.d.ts +0 -32
  367. package/dist/client/ai-employees/chatbox/stores/chat-box.d.ts +0 -9
  368. package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +0 -9
  369. package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +0 -9
  370. package/dist/client/ai-employees/chatbox/stores/chat-tools.d.ts +0 -51
  371. package/dist/client/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
  372. package/dist/client/ai-employees/chatbox/stores/workflow-tasks.d.ts +0 -45
  373. package/dist/client/ai-employees/context/classic-pages.d.ts +0 -10
  374. package/dist/client/ai-employees/data-modeling/Table.d.ts +0 -12
  375. package/dist/client/ai-employees/data-modeling/setup.d.ts +0 -10
  376. package/dist/client/ai-employees/data-modeling/tools/index.d.ts +0 -10
  377. package/dist/client/ai-employees/data-modeling/ui/useFieldInterfaceOptions.d.ts +0 -14
  378. package/dist/client/ai-employees/datasource/DatasourceList.d.ts +0 -17
  379. package/dist/client/ai-employees/datasource/index.d.ts +0 -9
  380. package/dist/client/ai-employees/flow/events/index.d.ts +0 -9
  381. package/dist/client/ai-employees/flow/index.d.ts +0 -36
  382. package/dist/client/ai-employees/flow/models/AIEmployeeActionModel.d.ts +0 -18
  383. package/dist/client/ai-employees/flow/models/AIEmployeeShortcutModel.d.ts +0 -30
  384. package/dist/client/ai-employees/shortcuts/ShortcutList.d.ts +0 -10
  385. package/dist/client/ai-employees/shortcuts/useShortcuts.d.ts +0 -13
  386. package/dist/client/ai-employees/stores/context-aware.d.ts +0 -19
  387. package/dist/client/ai-employees/sub-agents/tools/index.d.ts +0 -10
  388. package/dist/client/ai-employees/suggestions/tools/index.d.ts +0 -10
  389. package/dist/client/ai-employees/suggestions/ui/SuggestionsOptions.d.ts +0 -13
  390. package/dist/client/ai-employees/types.d.ts +0 -259
  391. package/dist/client/ai-employees/workflow-tasks/tools/index.d.ts +0 -10
  392. package/dist/client/chat-settings/Messages.d.ts +0 -11
  393. package/dist/client/chat-settings/StructuredOutput.d.ts +0 -11
  394. package/dist/client/components/skill-settings.d.ts +0 -22
  395. package/dist/client/features/components.d.ts +0 -9
  396. package/dist/client/features/feature-manager.d.ts +0 -9
  397. package/dist/client/features/index.d.ts +0 -9
  398. package/dist/client/features/vector-database-provider.d.ts +0 -9
  399. package/dist/client/features/vector-store-provider.d.ts +0 -9
  400. package/dist/client/llm-providers/anthropic/ModelSettings.d.ts +0 -10
  401. package/dist/client/llm-providers/anthropic/ProviderSettings.d.ts +0 -10
  402. package/dist/client/llm-providers/anthropic/index.d.ts +0 -10
  403. package/dist/client/llm-providers/components/Chat.d.ts +0 -10
  404. package/dist/client/llm-providers/components/ModelSelect.d.ts +0 -10
  405. package/dist/client/llm-providers/dashscope/ModelSettings.d.ts +0 -10
  406. package/dist/client/llm-providers/dashscope/ProviderSettings.d.ts +0 -10
  407. package/dist/client/llm-providers/dashscope/index.d.ts +0 -10
  408. package/dist/client/llm-providers/deepseek/ModelSettings.d.ts +0 -10
  409. package/dist/client/llm-providers/deepseek/index.d.ts +0 -10
  410. package/dist/client/llm-providers/google-genai/MessageRenderer.d.ts +0 -13
  411. package/dist/client/llm-providers/google-genai/ModelSettings.d.ts +0 -10
  412. package/dist/client/llm-providers/google-genai/ProviderSettings.d.ts +0 -10
  413. package/dist/client/llm-providers/google-genai/index.d.ts +0 -10
  414. package/dist/client/llm-providers/kimi/ModelSettings.d.ts +0 -10
  415. package/dist/client/llm-providers/kimi/index.d.ts +0 -10
  416. package/dist/client/llm-providers/mimo/ModelSettings.d.ts +0 -10
  417. package/dist/client/llm-providers/mimo/index.d.ts +0 -10
  418. package/dist/client/llm-providers/ollama/ModelSettings.d.ts +0 -10
  419. package/dist/client/llm-providers/ollama/ProviderSettings.d.ts +0 -10
  420. package/dist/client/llm-providers/ollama/index.d.ts +0 -10
  421. package/dist/client/llm-providers/openai/completions/ModelSettings.d.ts +0 -10
  422. package/dist/client/llm-providers/openai/completions/index.d.ts +0 -10
  423. package/dist/client/llm-providers/openai/components/ProviderSettings.d.ts +0 -10
  424. package/dist/client/llm-providers/openai/responses/ModelSettings.d.ts +0 -10
  425. package/dist/client/llm-providers/openai/responses/index.d.ts +0 -10
  426. package/dist/client/llm-providers/tongyi/ModelSettings.d.ts +0 -10
  427. package/dist/client/llm-providers/tongyi/ProviderSettings.d.ts +0 -10
  428. package/dist/client/llm-providers/tongyi/index.d.ts +0 -10
  429. package/dist/client/llm-providers/xai/ModelSettings.d.ts +0 -10
  430. package/dist/client/llm-providers/xai/index.d.ts +0 -10
  431. package/dist/client/llm-services/LLMServices.d.ts +0 -13
  432. package/dist/client/llm-services/component/DefaultModelSelect.d.ts +0 -10
  433. package/dist/client/llm-services/component/EnabledModelsSelect.d.ts +0 -23
  434. package/dist/client/llm-services/component/LLMTestFlight.d.ts +0 -10
  435. package/dist/client/llm-services/component/ModelOptionsSettings.d.ts +0 -10
  436. package/dist/client/llm-services/component/UnifiedModelSettings.d.ts +0 -10
  437. package/dist/client/llm-services/hooks/useLLMServiceCatalog.d.ts +0 -18
  438. package/dist/client/llm-services/llm-providers.d.ts +0 -27
  439. package/dist/client/llm-services/utils.d.ts +0 -30
  440. package/dist/client/manager/ai-feature-manager.d.ts +0 -9
  441. package/dist/client/manager/ai-manager.d.ts +0 -35
  442. package/dist/client/repositories/AIConfigRepository.d.ts +0 -60
  443. package/dist/client/repositories/hooks/useAIConfigRepository.d.ts +0 -10
  444. package/dist/client/schemas/llms.d.ts +0 -347
  445. package/dist/client/workflow/nodes/employee/components/AIEmployeeSelect.d.ts +0 -10
  446. package/dist/client/workflow/nodes/employee/components/assigness.d.ts +0 -11
  447. package/dist/client/workflow/nodes/employee/components/file-inputs.d.ts +0 -10
  448. package/dist/client/workflow/nodes/employee/components/message-inputs.d.ts +0 -12
  449. package/dist/client/workflow/nodes/employee/components/model-options.d.ts +0 -10
  450. package/dist/client/workflow/nodes/employee/components/structured-output.d.ts +0 -10
  451. package/dist/client/workflow/nodes/employee/components/users-select.d.ts +0 -15
  452. package/dist/client/workflow/nodes/employee/components/web-search-options.d.ts +0 -10
  453. package/dist/client/workflow/nodes/employee/configuration.d.ts +0 -12
  454. package/dist/client/workflow/nodes/employee/flow-models/feedback.d.ts +0 -14
  455. package/dist/client/workflow/nodes/employee/flow-models/task.d.ts +0 -13
  456. package/dist/client/workflow/nodes/llm/ModelSettings.d.ts +0 -11
  457. package/dist/client/workflow/triggers/ai-employee/Parameters.d.ts +0 -13
  458. package/dist/client-v2/ai-employees/flow/models/AIEmployeeButtonModel.d.ts +0 -32
  459. /package/dist/{client → client-v2}/ai-employees/AISelection.d.ts +0 -0
  460. /package/dist/{client → client-v2}/ai-employees/AISelectionControl.d.ts +0 -0
  461. /package/dist/{client → client-v2}/ai-employees/ai-coding/prompts.d.ts +0 -0
  462. /package/dist/{client → client-v2}/ai-employees/ai-coding/setup.d.ts +0 -0
  463. /package/dist/{client/ai-employees/chatbox/AIEmployeeSwitch.d.ts → client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts} +0 -0
  464. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatButton.d.ts +0 -0
  465. /package/dist/{client/ai-employees/chatbox/conversations → client-v2/ai-employees/chatbox/components}/Conversations.d.ts +0 -0
  466. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Messages.d.ts +0 -0
  467. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ModelSwitcher.d.ts +0 -0
  468. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/SearchSwitch.d.ts +0 -0
  469. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Sender.d.ts +0 -0
  470. /package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolModal.d.ts +0 -0
  471. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/UserPrompt.d.ts +0 -0
  472. /package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +0 -0
  473. /package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useLoadMoreObserver.d.ts +0 -0
  474. /package/dist/client-v2/ai-employees/{chatbox/stores → stores}/global-store.d.ts +0 -0
  475. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/AIEmployeeShortcutListModel.d.ts +0 -0
  476. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/index.d.ts +0 -0
  477. /package/dist/{client/ai-employees/flow/events/ai-context-selection.d.ts → client-v2/workflow/components/index.d.ts} +0 -0
@@ -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
+ });
@@ -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;
@@ -0,0 +1,183 @@
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
+ default: () => ai_usage_events_default
30
+ });
31
+ module.exports = __toCommonJS(ai_usage_events_exports);
32
+ var import_database = require("@nocobase/database");
33
+ var ai_usage_events_default = (0, import_database.defineCollection)({
34
+ migrationRules: ["schema-only"],
35
+ name: "aiUsageEvents",
36
+ dataCategory: "business",
37
+ timestamps: false,
38
+ createdAt: false,
39
+ updatedAt: false,
40
+ createdBy: false,
41
+ updatedBy: false,
42
+ fields: [
43
+ {
44
+ name: "occurredAt",
45
+ type: "unixTimestamp",
46
+ accuracy: "millisecond",
47
+ allowNull: false
48
+ },
49
+ {
50
+ name: "sessionId",
51
+ type: "uuid",
52
+ allowNull: false
53
+ },
54
+ {
55
+ name: "messageId",
56
+ type: "bigInt",
57
+ allowNull: false
58
+ },
59
+ {
60
+ name: "user",
61
+ type: "belongsTo",
62
+ target: "users",
63
+ targetKey: "id",
64
+ foreignKey: "userId"
65
+ },
66
+ {
67
+ name: "aiEmployee",
68
+ type: "belongsTo",
69
+ target: "aiEmployees",
70
+ targetKey: "username",
71
+ foreignKey: "aiEmployeeUsername"
72
+ },
73
+ {
74
+ name: "from",
75
+ type: "string",
76
+ allowNull: false,
77
+ defaultValue: "main-agent"
78
+ },
79
+ {
80
+ name: "category",
81
+ type: "string",
82
+ allowNull: false,
83
+ defaultValue: "chat"
84
+ },
85
+ {
86
+ name: "eventType",
87
+ type: "string",
88
+ allowNull: false,
89
+ defaultValue: "llm_message"
90
+ },
91
+ {
92
+ name: "role",
93
+ type: "string",
94
+ allowNull: false
95
+ },
96
+ {
97
+ name: "provider",
98
+ type: "string"
99
+ },
100
+ {
101
+ name: "llmService",
102
+ type: "string"
103
+ },
104
+ {
105
+ name: "model",
106
+ type: "string"
107
+ },
108
+ {
109
+ name: "inputTokens",
110
+ type: "bigInt",
111
+ allowNull: false,
112
+ defaultValue: 0
113
+ },
114
+ {
115
+ name: "outputTokens",
116
+ type: "bigInt",
117
+ allowNull: false,
118
+ defaultValue: 0
119
+ },
120
+ {
121
+ name: "totalTokens",
122
+ type: "bigInt",
123
+ allowNull: false,
124
+ defaultValue: 0
125
+ },
126
+ {
127
+ name: "cachedTokens",
128
+ type: "bigInt",
129
+ allowNull: false,
130
+ defaultValue: 0
131
+ },
132
+ {
133
+ name: "reasoningTokens",
134
+ type: "bigInt",
135
+ allowNull: false,
136
+ defaultValue: 0
137
+ },
138
+ {
139
+ name: "toolCallCount",
140
+ type: "integer",
141
+ allowNull: false,
142
+ defaultValue: 0
143
+ },
144
+ {
145
+ name: "autoToolCallCount",
146
+ type: "integer",
147
+ allowNull: false,
148
+ defaultValue: 0
149
+ },
150
+ {
151
+ name: "status",
152
+ type: "string",
153
+ allowNull: false,
154
+ defaultValue: "success"
155
+ },
156
+ {
157
+ name: "rawUsageMetadata",
158
+ type: "jsonb"
159
+ },
160
+ {
161
+ name: "rawResponseMetadata",
162
+ type: "jsonb"
163
+ }
164
+ ],
165
+ indexes: [
166
+ {
167
+ fields: ["messageId", "eventType"],
168
+ unique: true
169
+ },
170
+ {
171
+ fields: ["occurredAt"]
172
+ },
173
+ {
174
+ fields: ["userId", "occurredAt"]
175
+ },
176
+ {
177
+ fields: ["aiEmployeeUsername", "occurredAt"]
178
+ },
179
+ {
180
+ fields: ["sessionId"]
181
+ }
182
+ ]
183
+ });
@@ -16,6 +16,7 @@ export type CachedDocumentLoaderOptions = {
16
16
  parsedFileExtname: string;
17
17
  supports: (file: ParseableFile) => boolean;
18
18
  };
19
+ export declare function getDocumentCacheKey(sourceFile: ParseableFile): string | null;
19
20
  export declare class CachedDocumentLoader {
20
21
  private readonly plugin;
21
22
  private readonly options;
@@ -36,7 +36,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
36
36
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
37
  var cached_exports = {};
38
38
  __export(cached_exports, {
39
- CachedDocumentLoader: () => CachedDocumentLoader
39
+ CachedDocumentLoader: () => CachedDocumentLoader,
40
+ getDocumentCacheKey: () => getDocumentCacheKey
40
41
  });
41
42
  module.exports = __toCommonJS(cached_exports);
42
43
  var import_promises = __toESM(require("node:fs/promises"));
@@ -44,6 +45,19 @@ var import_node_os = __toESM(require("node:os"));
44
45
  var import_node_path = __toESM(require("node:path"));
45
46
  var import_documents = require("@langchain/core/documents");
46
47
  var import_utils = require("./utils");
48
+ function getDocumentCacheKey(sourceFile) {
49
+ var _a;
50
+ if (!sourceFile) {
51
+ return null;
52
+ }
53
+ if (((_a = sourceFile.source) == null ? void 0 : _a.documentCache) === false) {
54
+ return null;
55
+ }
56
+ if (!sourceFile.id || !sourceFile.storageId) {
57
+ return null;
58
+ }
59
+ return `${sourceFile.id}@${sourceFile.storageId}`;
60
+ }
47
61
  class CachedDocumentLoader {
48
62
  constructor(plugin, options) {
49
63
  this.plugin = plugin;
@@ -151,16 +165,11 @@ class CachedDocumentLoader {
151
165
  return this._cache;
152
166
  }
153
167
  getCacheKey(sourceFile) {
154
- if (!sourceFile) {
155
- return null;
156
- }
157
- if (!sourceFile.id || !sourceFile.storageId) {
158
- return null;
159
- }
160
- return `${sourceFile.id}@${sourceFile.storageId}`;
168
+ return getDocumentCacheKey(sourceFile);
161
169
  }
162
170
  }
163
171
  // Annotate the CommonJS export names for ESM import in node:
164
172
  0 && (module.exports = {
165
- CachedDocumentLoader
173
+ CachedDocumentLoader,
174
+ getDocumentCacheKey
166
175
  });
@@ -13,5 +13,4 @@ export declare class DocumentLoader {
13
13
  private readonly fileManager;
14
14
  constructor(fileManager: PluginFileManagerServer);
15
15
  load(file: ParseableFile, options?: any): Promise<Document[]>;
16
- private streamToBlob;
17
16
  }
@@ -7,9 +7,11 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
+ var __create = Object.create;
10
11
  var __defProp = Object.defineProperty;
11
12
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
13
  var __getOwnPropNames = Object.getOwnPropertyNames;
14
+ var __getProtoOf = Object.getPrototypeOf;
13
15
  var __hasOwnProp = Object.prototype.hasOwnProperty;
14
16
  var __export = (target, all) => {
15
17
  for (var name in all)
@@ -23,6 +25,14 @@ var __copyProps = (to, from, except, desc) => {
23
25
  }
24
26
  return to;
25
27
  };
28
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
+ // If the importer is in node compatibility mode or this is not an ESM
30
+ // file that has been converted to a CommonJS file using a Babel-
31
+ // compatible transform (i.e. "__esModule" has not been set), then set
32
+ // "default" to the CommonJS "module.exports" for node compatibility.
33
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
+ mod
35
+ ));
26
36
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
37
  var loader_exports = {};
28
38
  __export(loader_exports, {
@@ -32,6 +42,11 @@ module.exports = __toCommonJS(loader_exports);
32
42
  var import_constants = require("./constants");
33
43
  var import_utils = require("./utils");
34
44
  var import_ai = require("@nocobase/ai");
45
+ var import_node_fs = require("node:fs");
46
+ var import_promises = require("node:fs/promises");
47
+ var import_node_os = __toESM(require("node:os"));
48
+ var import_node_path = __toESM(require("node:path"));
49
+ var import_promises2 = require("node:stream/promises");
35
50
  class DocumentLoader {
36
51
  constructor(fileManager) {
37
52
  this.fileManager = fileManager;
@@ -42,15 +57,17 @@ class DocumentLoader {
42
57
  return [];
43
58
  }
44
59
  const { stream, contentType } = await this.fileManager.getFileStream(file, options);
45
- const blob = await this.streamToBlob(stream, contentType ?? file.mimetype);
46
- return await (0, import_ai.loadByWorker)(extname, blob);
47
- }
48
- async streamToBlob(stream, mimeType = "application/octet-stream") {
49
- const chunks = [];
50
- for await (const chunk of stream) {
51
- chunks.push(chunk);
60
+ const tempDir = await (0, import_promises.mkdtemp)(import_node_path.default.join(import_node_os.default.tmpdir(), "nocobase-document-loader-"));
61
+ const tempFilePath = import_node_path.default.join(tempDir, `source${extname}`);
62
+ try {
63
+ await (0, import_promises2.pipeline)(stream, (0, import_node_fs.createWriteStream)(tempFilePath));
64
+ return await (0, import_ai.loadByWorker)(extname, {
65
+ filePath: tempFilePath,
66
+ mimeType: contentType ?? file.mimetype
67
+ });
68
+ } finally {
69
+ await (0, import_promises.rm)(tempDir, { recursive: true, force: true });
52
70
  }
53
- return new Blob(chunks, { type: mimeType });
54
71
  }
55
72
  }
56
73
  // Annotate the CommonJS export names for ESM import in node:
@@ -31,6 +31,13 @@ export type ParseableFile = {
31
31
  storageId?: number;
32
32
  meta?: Record<string, any>;
33
33
  size?: number;
34
+ source?: {
35
+ dataSourceKey?: string;
36
+ collectionName?: string;
37
+ field?: string;
38
+ documentCache?: boolean;
39
+ trustworthy?: boolean;
40
+ };
34
41
  };
35
42
  export type DocumentLoaderLike = {
36
43
  load(file: ParseableFile, options?: any): Promise<Document[]>;
@@ -8,6 +8,7 @@
8
8
  */
9
9
  import { LLMProvider, ParsedAttachmentResult } from './provider';
10
10
  import { ChatAnthropic } from '@langchain/anthropic';
11
+ import type { AttachmentModel } from '@nocobase/plugin-file-manager';
11
12
  import { Model } from '@nocobase/database';
12
13
  import { LLMProviderMeta } from '../manager/ai-manager';
13
14
  import { Context } from '@nocobase/actions';
@@ -36,7 +37,7 @@ export declare class AnthropicProvider extends LLMProvider {
36
37
  type: string;
37
38
  query: string;
38
39
  }[];
39
- protected convertToContent(ctx: Context, attachment: any): Promise<ParsedAttachmentResult>;
40
+ protected convertToContent(ctx: Context, attachment: AttachmentModel): Promise<ParsedAttachmentResult>;
40
41
  private setMaxTokens;
41
42
  }
42
43
  export declare const anthropicProviderOptions: LLMProviderMeta;
@@ -186,9 +186,7 @@ class AnthropicProvider extends import_provider.LLMProvider {
186
186
  });
187
187
  }
188
188
  async convertToContent(ctx, attachment) {
189
- const fileManager = this.app.pm.get("file-manager");
190
- const url = await fileManager.getFileURL(attachment);
191
- const data = await (0, import_utils2.encodeFile)(ctx, decodeURIComponent(url));
189
+ const data = await this.encodeAttachment(ctx, attachment);
192
190
  if (attachment.mimetype.startsWith("image/")) {
193
191
  return {
194
192
  placement: "contentBlocks",
@@ -7,7 +7,7 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { AIMessageChunk } from '@langchain/core/messages';
10
- import { EmbeddingProvider, LLMProvider } from './provider';
10
+ import { EmbeddingProvider, LLMProvider, ReasoningOptions, ResolvedReasoningOptions } from './provider';
11
11
  import { EmbeddingsInterface } from '@langchain/core/embeddings';
12
12
  import { SupportedModel } from '../manager/ai-manager';
13
13
  import { Model } from '@nocobase/database';
@@ -19,6 +19,7 @@ export declare class DashscopeProvider extends LLMProvider {
19
19
  createModel(): ReasoningChatOpenAI;
20
20
  isToolConflict(): boolean;
21
21
  resolveTools(toolDefinitions: any[]): any[];
22
+ protected resolveReasoningOptions(reasoning?: ReasoningOptions): ResolvedReasoningOptions;
22
23
  parseResponseMessage(message: Model): {
23
24
  key: any;
24
25
  createdAt: any;
@@ -56,6 +56,7 @@ class DashscopeProvider extends import_provider.LLMProvider {
56
56
  const { apiKey } = this.serviceOptions || {};
57
57
  const { responseFormat, structuredOutput } = this.modelOptions || {};
58
58
  const { name, schema } = structuredOutput || {};
59
+ const reasoningOptions = this.resolveReasoningOptions(this.modelReasoningOptions);
59
60
  const modelKwargs = {};
60
61
  if (responseFormat) {
61
62
  const responseFormatOptions = {
@@ -76,7 +77,11 @@ class DashscopeProvider extends import_provider.LLMProvider {
76
77
  topP: 0.8,
77
78
  temperature: 0.7,
78
79
  ...this.modelOptions,
79
- modelKwargs,
80
+ ...reasoningOptions.modelRequestParams || {},
81
+ modelKwargs: {
82
+ ...modelKwargs,
83
+ ...reasoningOptions.modelKwargs || {}
84
+ },
80
85
  configuration: {
81
86
  baseURL: this.getResolvedBaseURL()
82
87
  },
@@ -94,6 +99,16 @@ class DashscopeProvider extends import_provider.LLMProvider {
94
99
  return toolDefinitions;
95
100
  }
96
101
  }
102
+ resolveReasoningOptions(reasoning) {
103
+ if ((reasoning == null ? void 0 : reasoning.mode) !== "off") {
104
+ return {};
105
+ }
106
+ return {
107
+ modelKwargs: {
108
+ enable_thinking: false
109
+ }
110
+ };
111
+ }
97
112
  parseResponseMessage(message) {
98
113
  var _a;
99
114
  const result = super.parseResponseMessage(message);
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { ChatDeepSeek } from '@langchain/deepseek';
10
10
  import { AIMessageChunk, BaseMessage } from '@langchain/core/messages';
11
- import { LLMProvider } from './provider';
11
+ import { LLMProvider, ReasoningOptions, ResolvedReasoningOptions } from './provider';
12
12
  import { LLMProviderMeta } from '../manager/ai-manager';
13
13
  import { Model } from '@nocobase/database';
14
14
  import type OpenAI from 'openai';
@@ -33,6 +33,7 @@ export declare class DeepSeekProvider extends LLMProvider {
33
33
  status: string;
34
34
  content: string;
35
35
  };
36
+ protected resolveReasoningOptions(reasoning?: ReasoningOptions): ResolvedReasoningOptions;
36
37
  protected isApiSupportedAttachment(attachment: AttachmentModel): boolean;
37
38
  }
38
39
  export declare const deepseekProviderOptions: LLMProviderMeta;