@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
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { BaseChatModel } from '@langchain/core/language_models/chat_models';
10
10
  import { Model } from '@nocobase/database';
11
- import { AttachmentModel } from '@nocobase/plugin-file-manager';
11
+ import { type AttachmentModel } from '@nocobase/plugin-file-manager';
12
12
  import { Application } from '@nocobase/server';
13
13
  import { AIChatContext, AIMessageInput } from '../types/ai-chat-conversation.type';
14
14
  import { EmbeddingsInterface } from '@langchain/core/embeddings';
@@ -27,6 +27,11 @@ export type LLMProviderInvokeOptions = {
27
27
  modelRequestParams?: Record<string, any>;
28
28
  [key: string]: any;
29
29
  };
30
+ export type ReasoningMode = 'default' | 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
31
+ export type ReasoningOptions = {
32
+ mode: ReasoningMode;
33
+ };
34
+ export type ResolvedReasoningOptions = Pick<LLMProviderInvokeOptions, 'modelKwargs' | 'modelRequestParams'>;
30
35
  export type LLMModelRequestBuilderResult = {
31
36
  context: AIChatContext;
32
37
  options?: LLMProviderInvokeOptions;
@@ -45,10 +50,12 @@ export declare abstract class LLMProvider {
45
50
  serviceOptions: Record<string, any>;
46
51
  modelOptions: Record<string, any> | undefined;
47
52
  chatModel: any;
53
+ protected modelReasoningOptions: ReasoningOptions | undefined;
48
54
  abstract createModel(): BaseChatModel | any;
49
55
  get baseURL(): string | null;
50
56
  constructor(opts: LLMProviderOptions);
51
57
  protected getModelRequestBuilder(_model?: string): LLMModelRequestBuilder | null;
58
+ protected resolveReasoningOptions(_reasoning?: ReasoningOptions): ResolvedReasoningOptions;
52
59
  prepareChain(context: AIChatContext): any;
53
60
  invoke(context: AIChatContext, options?: LLMProviderInvokeOptions): Promise<any>;
54
61
  stream(context: AIChatContext, options?: any): Promise<any>;
@@ -69,7 +76,8 @@ export declare abstract class LLMProvider {
69
76
  parseAttachment(ctx: Context, attachment: AttachmentModel): Promise<ParsedAttachmentResult>;
70
77
  protected isApiSupportedAttachment(attachment: AttachmentModel): boolean;
71
78
  protected isDocumentLoaderSupportedAttachment(attachment: AttachmentModel): boolean;
72
- protected convertToContent(ctx: Context, attachment: any): Promise<ParsedAttachmentResult>;
79
+ protected encodeAttachment(ctx: Context, attachment: AttachmentModel): Promise<string>;
80
+ protected convertToContent(ctx: Context, attachment: AttachmentModel): Promise<ParsedAttachmentResult>;
73
81
  protected loadDocument(ctx: Context, attachment: any): Promise<any>;
74
82
  getStructuredOutputOptions(structuredOutput: AIChatContext['structuredOutput']): any;
75
83
  testFlight(): Promise<{
@@ -84,6 +84,7 @@ class LLMProvider {
84
84
  serviceOptions;
85
85
  modelOptions;
86
86
  chatModel;
87
+ modelReasoningOptions;
87
88
  get baseURL() {
88
89
  return null;
89
90
  }
@@ -92,13 +93,18 @@ class LLMProvider {
92
93
  this.app = app;
93
94
  this.serviceOptions = resolveServiceOptions(serviceOptions, app);
94
95
  if (modelOptions) {
95
- this.modelOptions = modelOptions;
96
+ const { _reasoning, ...restModelOptions } = modelOptions;
97
+ this.modelReasoningOptions = _reasoning;
98
+ this.modelOptions = restModelOptions;
96
99
  this.chatModel = this.createModel();
97
100
  }
98
101
  }
99
102
  getModelRequestBuilder(_model) {
100
103
  return null;
101
104
  }
105
+ resolveReasoningOptions(_reasoning) {
106
+ return {};
107
+ }
102
108
  prepareChain(context) {
103
109
  var _a, _b, _c, _d;
104
110
  let chain = this.chatModel;
@@ -183,6 +189,15 @@ class LLMProvider {
183
189
  return (0, import_utils2.stripToolCallTags)(chunk);
184
190
  }
185
191
  async parseAttachment(ctx, attachment) {
192
+ var _a;
193
+ const dataSourceKey = (_a = attachment == null ? void 0 : attachment.source) == null ? void 0 : _a.dataSourceKey;
194
+ const isExternalAttachment = Boolean(dataSourceKey && dataSourceKey !== "main");
195
+ if (!(attachment == null ? void 0 : attachment.storageId) && !isExternalAttachment || !(attachment == null ? void 0 : attachment.filename)) {
196
+ return {
197
+ placement: "system",
198
+ content: "The user provided an attachment, but it is unavailable or invalid and cannot be parsed. Do not use this attachment as evidence; tell the user the attachment is unavailable."
199
+ };
200
+ }
186
201
  if (this.isApiSupportedAttachment(attachment)) {
187
202
  return await this.convertToContent(ctx, attachment);
188
203
  } else if (this.isDocumentLoaderSupportedAttachment(attachment)) {
@@ -212,10 +227,24 @@ class LLMProvider {
212
227
  const ext = import_node_path.default.extname((attachment == null ? void 0 : attachment.filename) ?? "").toLocaleLowerCase();
213
228
  return import_document_loader.SUPPORTED_DOCUMENT_EXTNAMES.includes(ext);
214
229
  }
215
- async convertToContent(ctx, attachment) {
230
+ async encodeAttachment(ctx, attachment) {
216
231
  const fileManager = this.app.pm.get("file-manager");
217
- const url = await fileManager.getFileURL(attachment);
218
- const data = await (0, import_utils2.encodeFile)(ctx, decodeURIComponent(url));
232
+ if (typeof ctx.get !== "function") {
233
+ const { stream: stream2 } = await fileManager.getFileStream(attachment);
234
+ return await (0, import_utils2.encodeReadableStream)(stream2);
235
+ }
236
+ const { stream } = await fileManager.getFileStream(attachment, {
237
+ requestOptions: {
238
+ headers: {
239
+ Referer: ctx.get("referer") || "",
240
+ "User-Agent": ctx.get("user-agent") || ""
241
+ }
242
+ }
243
+ });
244
+ return await (0, import_utils2.encodeReadableStream)(stream);
245
+ }
246
+ async convertToContent(ctx, attachment) {
247
+ const data = await this.encodeAttachment(ctx, attachment);
219
248
  if (attachment.mimetype.startsWith("image/")) {
220
249
  return {
221
250
  placement: "contentBlocks",
@@ -40,6 +40,7 @@ __export(ai_chat_conversation_exports, {
40
40
  });
41
41
  module.exports = __toCommonJS(ai_chat_conversation_exports);
42
42
  var import_lodash = __toESM(require("lodash"));
43
+ var import_ai_usage_events = require("./ai-usage-events");
43
44
  const createAIChatConversation = (ctx, sessionId) => {
44
45
  return new AIChatConversationImpl(ctx, sessionId);
45
46
  };
@@ -81,6 +82,7 @@ class AIChatConversationImpl {
81
82
  ),
82
83
  transaction: this.transaction
83
84
  });
85
+ await (0, import_ai_usage_events.recordAIUsageEventsForMessages)(this.ctx, this.sessionId, instances, this.transaction);
84
86
  return isArray ? instances : instances[0];
85
87
  }
86
88
  async removeMessages({ messageId }) {
@@ -60,6 +60,34 @@ function serializeQueryFieldValue(value) {
60
60
  }
61
61
  return value;
62
62
  }
63
+ function getRecordFieldValue(record, field) {
64
+ return field.split(".").reduce((current, key) => {
65
+ if (current === null || current === void 0) {
66
+ return current;
67
+ }
68
+ if (typeof current.get === "function") {
69
+ return current.get(key);
70
+ }
71
+ return current[key];
72
+ }, record);
73
+ }
74
+ function getQueryFieldOptions(collection, field) {
75
+ const parts = field.split(".");
76
+ let currentCollection = collection;
77
+ for (const [index, part] of parts.entries()) {
78
+ const currentField = currentCollection == null ? void 0 : currentCollection.getField(part);
79
+ if (!currentField) {
80
+ return;
81
+ }
82
+ if (index === parts.length - 1) {
83
+ return currentField.options;
84
+ }
85
+ if (!currentField.isRelationField()) {
86
+ return;
87
+ }
88
+ currentCollection = currentField.targetCollection();
89
+ }
90
+ }
63
91
  class AIContextDatasourceManager {
64
92
  constructor(plugin) {
65
93
  this.plugin = plugin;
@@ -149,17 +177,16 @@ class AIContextDatasourceManager {
149
177
  }
150
178
  });
151
179
  }
152
- const { fields, filter, sort, offset, limit } = options;
153
- const result = await collection.repository.find({ fields, filter, sort, offset: offset ?? 0, limit });
180
+ const { fields, appends, filter, sort, offset, limit } = options;
181
+ const result = await collection.repository.find({ fields, appends, filter, sort, offset: offset ?? 0, limit });
154
182
  const total = await collection.repository.count({ fields, filter });
155
183
  const records = result.map(
156
184
  (x) => fields.map((field) => {
157
- var _a2;
158
- const { name, type } = ((_a2 = collection.getField(field)) == null ? void 0 : _a2.options) || {};
159
- const value = serializeQueryFieldValue(x[field]);
185
+ const { name, type } = getQueryFieldOptions(collection, field) || {};
186
+ const value = serializeQueryFieldValue(getRecordFieldValue(x, field));
160
187
  return {
161
- name,
162
- type,
188
+ name: field.includes(".") ? field : name || field,
189
+ type: type || "unknown",
163
190
  value
164
191
  };
165
192
  })
@@ -6,7 +6,7 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import { LLMProvider, LLMProviderOptions, EmbeddingProvider, EmbeddingProviderOptions } from '../llm-providers/provider';
9
+ import { LLMProvider, LLMProviderOptions, EmbeddingProvider, EmbeddingProviderOptions, ReasoningOptions } from '../llm-providers/provider';
10
10
  import PluginAIServer from '../plugin';
11
11
  import { ToolManager } from './tool-manager';
12
12
  export type LLMProviderMeta = {
@@ -25,6 +25,7 @@ export type LLMModelOptions = {
25
25
  llmService: string;
26
26
  model: string;
27
27
  webSearch?: boolean;
28
+ reasoning?: ReasoningOptions;
28
29
  };
29
30
  export type EnabledLLMModel = {
30
31
  label: string;
@@ -123,7 +123,7 @@ class AIManager {
123
123
  return (0, import_recommended_models.getRecommendedModels)(provider);
124
124
  }
125
125
  async getLLMService(options) {
126
- const { llmService, model, webSearch } = options ?? {};
126
+ const { llmService, model, webSearch, reasoning } = options ?? {};
127
127
  if (!llmService || !model) {
128
128
  throw new Error("LLM service not configured");
129
129
  }
@@ -134,6 +134,9 @@ class AIManager {
134
134
  if (webSearch === true) {
135
135
  modelOptions.builtIn = { webSearch: true };
136
136
  }
137
+ if (reasoning) {
138
+ modelOptions._reasoning = reasoning;
139
+ }
137
140
  const service = await this.plugin.db.getRepository("llmServices").findOne({
138
141
  filter: {
139
142
  name: llmService
@@ -0,0 +1,49 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { Context } from '@nocobase/actions';
10
+ import { Transaction } from '@nocobase/database';
11
+ import { AIMessage } from '../types';
12
+ type RecordLike = Record<string, unknown> & {
13
+ get?: (key: string) => unknown;
14
+ };
15
+ export type NormalizedUsageMetadata = {
16
+ inputTokens: number;
17
+ outputTokens: number;
18
+ totalTokens: number;
19
+ cachedTokens: number;
20
+ reasoningTokens: number;
21
+ };
22
+ export type AIUsageEventValues = {
23
+ occurredAt: Date;
24
+ sessionId: string;
25
+ messageId: string;
26
+ userId?: unknown;
27
+ aiEmployeeUsername?: unknown;
28
+ from: string;
29
+ category: string;
30
+ eventType: 'llm_message';
31
+ role: string;
32
+ provider: string;
33
+ llmService?: string;
34
+ model: string;
35
+ inputTokens: number;
36
+ outputTokens: number;
37
+ totalTokens: number;
38
+ cachedTokens: number;
39
+ reasoningTokens: number;
40
+ toolCallCount: number;
41
+ autoToolCallCount: number;
42
+ status: 'success';
43
+ rawUsageMetadata: Record<string, unknown>;
44
+ rawResponseMetadata?: Record<string, unknown>;
45
+ };
46
+ export declare function normalizeUsageMetadata(usageMetadata: Record<string, unknown>): NormalizedUsageMetadata;
47
+ export declare function buildAIUsageEventValues(sessionId: string, message: AIMessage, conversation: RecordLike): AIUsageEventValues | null;
48
+ export declare function recordAIUsageEventsForMessages(ctx: Context, sessionId: string, messages: AIMessage[], transaction?: Transaction): Promise<void>;
49
+ export {};
@@ -0,0 +1,195 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var ai_usage_events_exports = {};
28
+ __export(ai_usage_events_exports, {
29
+ buildAIUsageEventValues: () => buildAIUsageEventValues,
30
+ normalizeUsageMetadata: () => normalizeUsageMetadata,
31
+ recordAIUsageEventsForMessages: () => recordAIUsageEventsForMessages
32
+ });
33
+ module.exports = __toCommonJS(ai_usage_events_exports);
34
+ const SKIPPED_MESSAGE_ROLES = /* @__PURE__ */ new Set(["user", "tool", "system"]);
35
+ function normalizeUsageMetadata(usageMetadata) {
36
+ const inputTokens = getNumericValue(usageMetadata, ["input_tokens", "prompt_tokens", "inputTokens", "promptTokens"]) ?? 0;
37
+ const outputTokens = getNumericValue(usageMetadata, ["output_tokens", "completion_tokens", "outputTokens", "completionTokens"]) ?? 0;
38
+ const totalTokens = getNumericValue(usageMetadata, ["total_tokens", "totalTokens"]) ?? inputTokens + outputTokens;
39
+ const cachedTokens = getNumericValue(usageMetadata, ["cached_tokens", "cachedTokens"]) ?? getNestedNumericValue(usageMetadata, ["input_token_details", "cache_read"]) ?? getNestedNumericValue(usageMetadata, ["input_token_details", "cached_tokens"]) ?? getNestedNumericValue(usageMetadata, ["prompt_tokens_details", "cached_tokens"]) ?? 0;
40
+ const reasoningTokens = getNumericValue(usageMetadata, ["reasoning_tokens", "reasoningTokens"]) ?? getNestedNumericValue(usageMetadata, ["output_token_details", "reasoning"]) ?? getNestedNumericValue(usageMetadata, ["completion_tokens_details", "reasoning_tokens"]) ?? 0;
41
+ return {
42
+ inputTokens,
43
+ outputTokens,
44
+ totalTokens,
45
+ cachedTokens,
46
+ reasoningTokens
47
+ };
48
+ }
49
+ function buildAIUsageEventValues(sessionId, message, conversation) {
50
+ const role = readString(message, "role");
51
+ if (!role || SKIPPED_MESSAGE_ROLES.has(role)) {
52
+ return null;
53
+ }
54
+ const metadata = readRecord(message, "metadata");
55
+ const provider = readString(metadata, "provider");
56
+ const model = readString(metadata, "model");
57
+ if (!provider || !model) {
58
+ return null;
59
+ }
60
+ const usageMetadata = readRecord(metadata, "usage_metadata") ?? {};
61
+ const responseMetadata = readRecord(metadata, "response_metadata");
62
+ const normalizedUsage = normalizeUsageMetadata(usageMetadata);
63
+ const toolCalls = readArray(message, "toolCalls");
64
+ const autoCallTools = readArray(metadata, "autoCallTools");
65
+ const llmService = readString(metadata, "llmService");
66
+ return {
67
+ occurredAt: normalizeDate(readValue(message, "createdAt")),
68
+ sessionId,
69
+ messageId: String(readValue(message, "messageId") ?? ""),
70
+ userId: readValue(conversation, "userId"),
71
+ aiEmployeeUsername: readValue(conversation, "aiEmployeeUsername"),
72
+ from: readString(conversation, "from") ?? "main-agent",
73
+ category: readString(conversation, "category") ?? "chat",
74
+ eventType: "llm_message",
75
+ role,
76
+ provider,
77
+ ...llmService ? { llmService } : {},
78
+ model,
79
+ ...normalizedUsage,
80
+ toolCallCount: (toolCalls == null ? void 0 : toolCalls.length) ?? 0,
81
+ autoToolCallCount: (autoCallTools == null ? void 0 : autoCallTools.length) ?? 0,
82
+ status: "success",
83
+ rawUsageMetadata: usageMetadata,
84
+ ...responseMetadata ? { rawResponseMetadata: responseMetadata } : {}
85
+ };
86
+ }
87
+ async function recordAIUsageEventsForMessages(ctx, sessionId, messages, transaction) {
88
+ const recordableMessages = messages.filter(isRecordableLLMMessage);
89
+ if (recordableMessages.length === 0) {
90
+ return;
91
+ }
92
+ const conversation = await ctx.db.getRepository("aiConversations").findOne({
93
+ filter: {
94
+ sessionId
95
+ },
96
+ transaction
97
+ });
98
+ if (!conversation) {
99
+ return;
100
+ }
101
+ const usageEvents = recordableMessages.map((message) => buildAIUsageEventValues(sessionId, message, conversation)).filter(isUsageEventValues);
102
+ if (usageEvents.length === 0) {
103
+ return;
104
+ }
105
+ const usageEventsRepo = ctx.db.getRepository("aiUsageEvents");
106
+ for (const values of usageEvents) {
107
+ await usageEventsRepo.updateOrCreate({
108
+ filterKeys: ["messageId", "eventType"],
109
+ values,
110
+ transaction
111
+ });
112
+ }
113
+ }
114
+ function isUsageEventValues(value) {
115
+ return value !== null && value.messageId !== "";
116
+ }
117
+ function isRecordableLLMMessage(message) {
118
+ const role = readString(message, "role");
119
+ if (!role || SKIPPED_MESSAGE_ROLES.has(role)) {
120
+ return false;
121
+ }
122
+ const metadata = readRecord(message, "metadata");
123
+ return Boolean(readString(metadata, "provider") && readString(metadata, "model"));
124
+ }
125
+ function isRecord(value) {
126
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
127
+ }
128
+ function readValue(source, key) {
129
+ if (!isRecord(source)) {
130
+ return void 0;
131
+ }
132
+ const value = source[key];
133
+ if (value !== void 0) {
134
+ return value;
135
+ }
136
+ if (typeof source.get === "function") {
137
+ return source.get(key);
138
+ }
139
+ return void 0;
140
+ }
141
+ function readString(source, key) {
142
+ const value = readValue(source, key);
143
+ return typeof value === "string" && value !== "" ? value : void 0;
144
+ }
145
+ function readRecord(source, key) {
146
+ const value = readValue(source, key);
147
+ return isRecord(value) ? value : void 0;
148
+ }
149
+ function readArray(source, key) {
150
+ const value = readValue(source, key);
151
+ return Array.isArray(value) ? value : void 0;
152
+ }
153
+ function getNumericValue(source, keys) {
154
+ for (const key of keys) {
155
+ const normalized = normalizeNumber(source[key]);
156
+ if (normalized !== void 0) {
157
+ return normalized;
158
+ }
159
+ }
160
+ }
161
+ function getNestedNumericValue(source, path) {
162
+ let current = source;
163
+ for (const key of path) {
164
+ if (!isRecord(current)) {
165
+ return void 0;
166
+ }
167
+ current = current[key];
168
+ }
169
+ return normalizeNumber(current);
170
+ }
171
+ function normalizeNumber(value) {
172
+ const numeric = typeof value === "number" ? value : typeof value === "string" ? Number(value) : NaN;
173
+ if (!Number.isFinite(numeric)) {
174
+ return void 0;
175
+ }
176
+ return Math.max(0, Math.trunc(numeric));
177
+ }
178
+ function normalizeDate(value) {
179
+ if (value instanceof Date && Number.isFinite(value.getTime())) {
180
+ return value;
181
+ }
182
+ if (typeof value === "string" || typeof value === "number") {
183
+ const date = new Date(value);
184
+ if (Number.isFinite(date.getTime())) {
185
+ return date;
186
+ }
187
+ }
188
+ return /* @__PURE__ */ new Date();
189
+ }
190
+ // Annotate the CommonJS export names for ESM import in node:
191
+ 0 && (module.exports = {
192
+ buildAIUsageEventValues,
193
+ normalizeUsageMetadata,
194
+ recordAIUsageEventsForMessages
195
+ });
@@ -41,6 +41,7 @@ __export(work_context_handler_exports, {
41
41
  module.exports = __toCommonJS(work_context_handler_exports);
42
42
  var import_utils = require("@nocobase/utils");
43
43
  var import_lodash = __toESM(require("lodash"));
44
+ const MODEL_EXCLUDED_FIELDS = /* @__PURE__ */ new Set(["frontendTools"]);
44
45
  const createWorkContextHandler = (plugin) => new WorkContextHandlerImpl(plugin);
45
46
  class WorkContextHandlerImpl {
46
47
  constructor(plugin) {
@@ -82,11 +83,17 @@ class WorkContextHandlerImpl {
82
83
  if (!contextItem) {
83
84
  return "";
84
85
  }
85
- const { resolve } = this.strategies.get(contextItem.type) ?? {};
86
+ const modelContext = this.excludeInternalFields(contextItem);
87
+ const { resolve } = this.strategies.get(modelContext.type) ?? {};
86
88
  if (resolve) {
87
- return await resolve(ctx, contextItem);
89
+ return await resolve(ctx, modelContext);
88
90
  }
89
- return await ((_b = (_a = this.defaultStrategy).resolve) == null ? void 0 : _b.call(_a, ctx, contextItem));
91
+ return await ((_b = (_a = this.defaultStrategy).resolve) == null ? void 0 : _b.call(_a, ctx, modelContext));
92
+ }
93
+ excludeInternalFields(contextItem) {
94
+ return Object.fromEntries(
95
+ Object.entries(contextItem).filter(([field]) => !MODEL_EXCLUDED_FIELDS.has(field))
96
+ );
90
97
  }
91
98
  }
92
99
  const Stringify = (_plugin) => async (_ctx, contextItem) => {
@@ -62,6 +62,7 @@ export declare class PluginAIServer extends Plugin {
62
62
  get repositories(): {
63
63
  aiContextDatasources: import("@nocobase/database").Repository<any, any>;
64
64
  };
65
+ private registerAIFileAccessAuthorizer;
65
66
  get fileManager(): PluginFileManagerServer;
66
67
  private repository;
67
68
  }
@@ -56,6 +56,7 @@ var import_ai_employees_manager = require("./ai-employees/ai-employees-manager")
56
56
  var import_ai_conversations = require("./ai-employees/ai-conversations");
57
57
  var import_snowflake = __toESM(require("./snowflake"));
58
58
  var aiEmployeeActions = __toESM(require("./resource/aiEmployees"));
59
+ var llmServiceActions = __toESM(require("./resource/llmServices"));
59
60
  var import_google_genai = require("./llm-providers/google-genai");
60
61
  var import_ai_employee = require("./workflow/triggers/ai-employee");
61
62
  var import_tools = require("./tools");
@@ -75,10 +76,12 @@ var import_document_loader = require("./document-loader");
75
76
  var import_checkpoints = require("./ai-employees/checkpoints");
76
77
  var import_mimo = require("./llm-providers/mimo");
77
78
  var import_mistral = require("./llm-providers/mistral");
79
+ var import_orcarouter = require("./llm-providers/orcarouter");
78
80
  var import_sub_agents = require("./ai-employees/sub-agents");
79
81
  var import_employee = require("./workflow/nodes/employee");
80
82
  var import_ai_knowledge_base = require("./ai-employees/ai-knowledge-base");
81
83
  var import_llm_stream_manager = require("./manager/llm-stream-manager");
84
+ var import_attachments = require("./attachments");
82
85
  class PluginAIServer extends import_server.Plugin {
83
86
  features = new import_ai_feature_manager.AIPluginFeatureManagerImpl();
84
87
  aiManager = new import_ai_manager.AIManager(this);
@@ -167,6 +170,7 @@ class PluginAIServer extends import_server.Plugin {
167
170
  this.defineResources();
168
171
  this.registerMcpClientEvents();
169
172
  this.setPermissions();
173
+ this.registerAIFileAccessAuthorizer();
170
174
  this.registerWorkflow();
171
175
  this.registerWorkContextResolveStrategy();
172
176
  (0, import_employee.registerAIEmployeeTaskNotification)(this);
@@ -186,6 +190,7 @@ class PluginAIServer extends import_server.Plugin {
186
190
  this.aiManager.registerLLMProvider("openai-completions", import_openai2.openaiCompletionsProviderOptions);
187
191
  this.aiManager.registerLLMProvider("kimi", import_kimi.kimiProviderOptions);
188
192
  this.aiManager.registerLLMProvider("xai", import_xai.xaiProviderOptions);
193
+ this.aiManager.registerLLMProvider("orcarouter", import_orcarouter.orcarouterProviderOptions);
189
194
  }
190
195
  registerTools() {
191
196
  const toolsManager = this.ai.toolsManager;
@@ -216,9 +221,25 @@ class PluginAIServer extends import_server.Plugin {
216
221
  },
217
222
  { before: "createMiddleware" }
218
223
  );
224
+ this.app.resourceManager.use(
225
+ async (ctx, next) => {
226
+ const { resourceName, actionName } = ctx.action;
227
+ if (resourceName === "aiFiles" && actionName === "create") {
228
+ (0, import_attachments.appendAIFileAttachmentSource)(ctx.action.params.values);
229
+ }
230
+ await next();
231
+ if (resourceName === "aiFiles" && actionName === "create") {
232
+ (0, import_attachments.appendAIFileAttachmentSource)(ctx.body);
233
+ }
234
+ },
235
+ { after: "createMiddleware" }
236
+ );
219
237
  Object.entries(aiEmployeeActions).forEach(([name, action]) => {
220
238
  this.app.resourceManager.registerActionHandler(`aiEmployees:${name}`, action);
221
239
  });
240
+ Object.entries(llmServiceActions).forEach(([name, action]) => {
241
+ this.app.resourceManager.registerActionHandler(`llmServices:${name}`, action);
242
+ });
222
243
  }
223
244
  registerMcpClientEvents() {
224
245
  this.db.on("aiMcpClients.afterCreate", (model, { transaction } = {}) => {
@@ -354,6 +375,26 @@ class PluginAIServer extends import_server.Plugin {
354
375
  aiContextDatasources: this.repository("aiContextDatasources")
355
376
  };
356
377
  }
378
+ registerAIFileAccessAuthorizer() {
379
+ this.fileManager.registerFileAccessAuthorizer({
380
+ name: "ai-files",
381
+ authorize: async (ctx, params) => {
382
+ var _a;
383
+ const currentUserId = (_a = ctx.state.currentUser) == null ? void 0 : _a.id;
384
+ if (params.dataSourceKey !== "main" || params.collectionName !== "aiFiles" || !currentUserId) {
385
+ return false;
386
+ }
387
+ const file = await ctx.db.getRepository("aiFiles").findOne({
388
+ filter: {
389
+ id: params.id,
390
+ createdById: currentUserId
391
+ },
392
+ fields: ["id"]
393
+ });
394
+ return Boolean(file);
395
+ }
396
+ });
397
+ }
357
398
  get fileManager() {
358
399
  return this.app.pm.get("file-manager");
359
400
  }
@@ -7,6 +7,8 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  import { Context, Next } from '@nocobase/actions';
10
+ import { Model } from '@nocobase/database';
11
+ export declare function isAIEmployeeEnabled(employee: Model | null | undefined): boolean;
10
12
  declare function loginInCheck(ctx: Context, next: Next): Promise<never>;
11
13
  declare const _default: {
12
14
  name: string;