@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
@@ -0,0 +1,396 @@
1
+ ---
2
+ title: "ctx.ai"
3
+ description: "Use ctx.ai in RunJS to trigger AI employee tasks in the global conversation or a specified AI Chat Box, either with inline task content or with tasks configured on an AI employee action."
4
+ keywords: "ctx.ai,AI employee,uploadFile,attachments,triggerTask,triggerModelTask,onResponseLoadingChange,chatBoxUid,AI Chat Box,RunJS,NocoBase"
5
+ ---
6
+
7
+ # ctx.ai
8
+
9
+ Use `ctx.ai` in RunJS to trigger **AI employee tasks**. It works well in JSBlock, JSAction, and other interactions where a button, form, or business flow needs to hand work to a specific AI employee.
10
+
11
+ `ctx.ai` uploads AI task attachments and triggers tasks. File uploads can be awaited, but task triggering does not return the execution result of the AI employee task. After the call, the task enters the AI employee conversation flow, and the result is handled by the AI employee session.
12
+
13
+ :::warning Note
14
+
15
+ `ctx.ai` is provided by the AI plugin. If the AI plugin is not enabled, or the current RunJS environment has not loaded the corresponding client capability, `ctx.ai` may not exist. You can check `ctx.ai?.uploadFile`, `ctx.ai?.triggerTask`, or `ctx.ai?.triggerModelTask` before calling it.
16
+
17
+ :::
18
+
19
+ ## Methods
20
+
21
+ ### ctx.ai.uploadFile()
22
+
23
+ Upload one file and return an attachment object that can be passed directly to an AI employee task.
24
+
25
+ ```ts
26
+ const attachment = await ctx.ai.uploadFile(file, options);
27
+ ```
28
+
29
+ | Parameter | Type | Description |
30
+ |------|------|------|
31
+ | `file` | `File` | Browser file object to upload. |
32
+ | `options.onProgress` | `(percent: number) => void` | Upload progress callback. `percent` ranges from `0` to `100`. |
33
+ | `options.signal` | `AbortSignal` | Signal used to cancel the upload. |
34
+
35
+ The upload uses the file storage configured by the AI plugin and creates a record in `aiFiles`. The returned object includes fields such as `id`, `filename`, `url`, and `source`:
36
+
37
+ ```ts
38
+ const attachment = await ctx.ai.uploadFile(file, {
39
+ onProgress(percent) {
40
+ console.log('upload progress', percent);
41
+ },
42
+ });
43
+
44
+ // attachment can be placed directly in message.attachments
45
+ ```
46
+
47
+ The Promise is rejected when the upload fails. Removing an attachment from the local UI does not delete the record already created in `aiFiles`, matching the behavior of the default AI chat window.
48
+
49
+ ### ctx.ai.triggerTask()
50
+
51
+ Trigger an AI employee task directly.
52
+
53
+ ```ts
54
+ ctx.ai.triggerTask(options: TriggerTaskOptions): void
55
+ ```
56
+
57
+ | Parameter | Type | Description |
58
+ |------|------|------|
59
+ | `aiEmployee` | `string \| AIEmployee` | AI employee. When a string is passed, NocoBase matches `AIEmployee.username` exactly, and the AI employee must be accessible to the current user. |
60
+ | `tasks` | `Task[]` | Tasks to trigger. |
61
+ | `chatBoxUid` | `string` | FlowModel uid of the AI Chat Box block that should receive the task. |
62
+ | `open` | `boolean` | Whether to open the AI employee conversation panel. |
63
+ | `auto` | `boolean` | Whether to use the auto-trigger semantics of an AI employee action. |
64
+ | `onResponseLoadingChange` | `(loading: boolean) => void` | Model response loading callback. It only runs when this task is sent automatically. |
65
+
66
+ Common `Task` fields:
67
+
68
+ | Field | Type | Description |
69
+ |------|------|------|
70
+ | `title` | `string` | Task title. |
71
+ | `message.system` | `string` | System message, used to constrain the AI employee's role and output requirements. |
72
+ | `message.user` | `string` | User message, which is the main instruction for this task. |
73
+ | `message.attachments` | `Attachment[]` | Attachments used by the task, usually returned by `ctx.ai.uploadFile()`. |
74
+ | `message.workContext` | `ContextItem[]` | Page block context used by the task. |
75
+ | `autoSend` | `boolean` | Whether to send the task message automatically. |
76
+ | `webSearch` | `boolean` | Whether Web search is allowed for this task. |
77
+ | `model` | `{ llmService: string; model: string } \| null` | Model used by this task. |
78
+ | `skillSettings` | `SkillSettings` | Skills and tools available to this task. |
79
+
80
+ ### Track the Response Loading State
81
+
82
+ Pass `onResponseLoadingChange` in the top-level options to track the model response loading state for this task. The callback receives `true` when NocoBase starts waiting for the model response, and `false` when the response completes, is canceled, or fails. If the React component has declared `setResponseLoading` with `useState`, you can write:
83
+
84
+ ```tsx
85
+ ctx.ai.triggerTask({
86
+ aiEmployee: 'nathan',
87
+ open: true,
88
+ tasks: [
89
+ {
90
+ title: ctx.t('Review current page'),
91
+ message: {
92
+ user: 'Review the current page and summarize the main risks.',
93
+ },
94
+ autoSend: true,
95
+ },
96
+ ],
97
+ onResponseLoadingChange(loading) {
98
+ setResponseLoading(loading);
99
+ },
100
+ });
101
+ ```
102
+
103
+ `onResponseLoadingChange` only tracks the model response started directly by this `triggerTask()` call. With `autoSend: false`, the task is placed in the chat draft and the callback does not run. If the user sends the draft later, that manual send does not reuse this callback.
104
+
105
+ In a React component inside a JS block, this state update rerenders the component while it remains mounted.
106
+
107
+ ### Target an AI Chat Box
108
+
109
+ Set `chatBoxUid` on the top-level `triggerTask()` options to trigger the task in a mounted AI Chat Box block instead of the global AI employee dialog.
110
+
111
+ ```ts
112
+ ctx.ai.triggerTask({
113
+ aiEmployee: 'nathan',
114
+ chatBoxUid: 'AI_CHAT_BOX_BLOCK_UID',
115
+ open: true,
116
+ tasks: [
117
+ {
118
+ title: ctx.t('Review current page'),
119
+ message: {
120
+ user: 'Review the current page and summarize the main risks.',
121
+ },
122
+ },
123
+ ],
124
+ });
125
+ ```
126
+
127
+ The uid must belong to the outer AI Chat Box block currently mounted on the page. Do not put this routing value inside `tasks`. If the target block cannot be found, NocoBase reports an error and does not fall back to the global dialog. When `chatBoxUid` is omitted, the task uses the global AI employee dialog.
128
+
129
+ ### Upload and Send Attachments in JSBlock
130
+
131
+ The following example renders file upload, task instructions, and a send button in JSBlock. Uploaded files are passed to the AI employee through `message.attachments`:
132
+
133
+ ```tsx
134
+ if (!ctx.ai?.uploadFile || !ctx.ai?.triggerTask) {
135
+ ctx.message.error(ctx.t('AI employee task API is not available.'));
136
+ return;
137
+ }
138
+
139
+ const { React } = ctx.libs;
140
+ const { useState } = React;
141
+ const { Button, Card, Input, Space, Upload } = ctx.libs.antd;
142
+ const { InboxOutlined, SendOutlined } = ctx.libs.antdIcons;
143
+
144
+ const AttachmentTask = () => {
145
+ const [prompt, setPrompt] = useState('');
146
+ const [fileList, setFileList] = useState([]);
147
+
148
+ const uploadAttachment = async ({ file, onError, onProgress, onSuccess }) => {
149
+ try {
150
+ const attachment = await ctx.ai.uploadFile(file, {
151
+ onProgress(percent) {
152
+ onProgress?.({ percent });
153
+ },
154
+ });
155
+ onSuccess?.(attachment);
156
+ } catch (error) {
157
+ onError?.(error instanceof Error ? error : new Error(ctx.t('File upload failed')));
158
+ }
159
+ };
160
+
161
+ const sendTask = () => {
162
+ const attachments = fileList
163
+ .filter((file) => file.status === 'done' && file.response)
164
+ .map((file) => file.response);
165
+
166
+ if (!prompt.trim()) {
167
+ ctx.message.warning(ctx.t('Enter task instructions'));
168
+ return;
169
+ }
170
+
171
+ ctx.ai.triggerTask({
172
+ aiEmployee: 'viz',
173
+ open: true,
174
+ tasks: [
175
+ {
176
+ title: ctx.t('Analyze uploaded files'),
177
+ message: {
178
+ user: prompt.trim(),
179
+ attachments,
180
+ },
181
+ autoSend: true,
182
+ },
183
+ ],
184
+ });
185
+ setPrompt('');
186
+ setFileList([]);
187
+ };
188
+
189
+ const uploading = fileList.some((file) => file.status === 'uploading');
190
+
191
+ return (
192
+ <Card title={ctx.t('AI file analysis')}>
193
+ <Space direction="vertical" size="middle" style={{ width: '100%' }}>
194
+ <Upload.Dragger
195
+ multiple
196
+ fileList={fileList}
197
+ customRequest={uploadAttachment}
198
+ onChange={({ fileList: nextFileList }) => setFileList(nextFileList)}
199
+ >
200
+ <p className="ant-upload-drag-icon"><InboxOutlined /></p>
201
+ <p>{ctx.t('Click or drag files here to upload')}</p>
202
+ </Upload.Dragger>
203
+ <Input.TextArea
204
+ value={prompt}
205
+ onChange={(event) => setPrompt(event.target.value)}
206
+ placeholder={ctx.t('Describe the task for the AI employee')}
207
+ autoSize={{ minRows: 3, maxRows: 8 }}
208
+ />
209
+ <Button
210
+ type="primary"
211
+ icon={<SendOutlined />}
212
+ disabled={uploading || !prompt.trim()}
213
+ onClick={sendTask}
214
+ >
215
+ {ctx.t('Send to AI')}
216
+ </Button>
217
+ </Space>
218
+ </Card>
219
+ );
220
+ };
221
+
222
+ ctx.render(<AttachmentTask />);
223
+ ```
224
+
225
+ With `autoSend: false`, the attachments and task instructions are placed in the AI chat draft instead of being sent immediately.
226
+
227
+ ### Add Page Block Context
228
+
229
+ `message.workContext` currently passes page blocks. Put the FlowModel uid of the target page block into it:
230
+
231
+ ```ts
232
+ message: {
233
+ user: 'Review the current users table and summarize operational risks.',
234
+ workContext: [
235
+ {
236
+ type: 'flow-model',
237
+ uid: 'USERS_TABLE_BLOCK_UID',
238
+ },
239
+ ],
240
+ }
241
+ ```
242
+
243
+ | Field | Description |
244
+ |------|------|
245
+ | `type` | Fixed to `flow-model`, meaning this item is a page block context. |
246
+ | `uid` | FlowModel uid of the page block, such as a table block, detail block, or chart block. |
247
+
248
+ If you want to use the current JSBlock itself as context, use the current model uid:
249
+
250
+ ```ts
251
+ workContext: [
252
+ {
253
+ type: 'flow-model',
254
+ uid: ctx.model.uid,
255
+ },
256
+ ],
257
+ ```
258
+
259
+ Usually, `message.workContext` should be placed inside the `message` of a concrete task. `triggerModelTask()` reuses the task configured on the target AI employee action, so it also reads `message.workContext` from that task.
260
+
261
+ ### Specify Model
262
+
263
+ `model` specifies the model for a single task. If omitted, the AI employee's default model configuration is used. Passing `null` means no task-level model is specified.
264
+
265
+ ```ts
266
+ model: {
267
+ llmService: 'openai-main',
268
+ model: 'gpt-4.1',
269
+ }
270
+ ```
271
+
272
+ ### Configure Skills / Tools
273
+
274
+ `skillSettings` specifies the skills and tools available to a single task. If omitted, the AI employee's own capability configuration is used.
275
+
276
+ ```ts
277
+ skillSettings: {
278
+ skillsVersion: 2,
279
+ toolsVersion: 2,
280
+ skills: ['business-analysis-report'],
281
+ tools: ['businessReportGenerator'],
282
+ }
283
+ ```
284
+
285
+ To explicitly disable all skills or tools for this task, pass empty arrays and keep the version fields:
286
+
287
+ ```ts
288
+ skillSettings: {
289
+ skillsVersion: 2,
290
+ toolsVersion: 2,
291
+ skills: [],
292
+ tools: [],
293
+ }
294
+ ```
295
+
296
+ The following example asks `viz` to generate a handoff brief and opens the AI employee conversation panel:
297
+
298
+ ```ts
299
+ if (!ctx.ai?.triggerTask) {
300
+ ctx.message.error(ctx.t('AI employee task API is not available.'));
301
+ return;
302
+ }
303
+
304
+ ctx.ai.triggerTask({
305
+ aiEmployee: 'viz',
306
+ open: true,
307
+ tasks: [
308
+ {
309
+ title: ctx.t('Daily operations handoff brief'),
310
+ message: {
311
+ system:
312
+ 'You prepare reusable daily operations handoff briefs. Focus on risks, blockers, decisions, owners, and next actions.',
313
+ user: [
314
+ "Prepare today's operations handoff brief.",
315
+ 'Cover customer escalations, SLA risks, approvals, and follow-up owners.',
316
+ 'Return a concise brief that can be posted to the team channel.',
317
+ ].join('\n'),
318
+ },
319
+ autoSend: true,
320
+ webSearch: false,
321
+ },
322
+ ],
323
+ });
324
+
325
+ ctx.message.success(ctx.t('AI employee task triggered.'));
326
+ ```
327
+
328
+ If `aiEmployee` is a string, NocoBase matches accessible AI employees by `username` exactly. If no match is found, the task is not triggered and a warning is printed to the console.
329
+
330
+ ### ctx.ai.triggerModelTask()
331
+
332
+ Read a task from an AI employee action model on the page and trigger it.
333
+
334
+ ```ts
335
+ ctx.ai.triggerModelTask(uid: string, taskIndex: number, options?: TriggerModelTaskOptions): void
336
+ ```
337
+
338
+ | Parameter | Type | Description |
339
+ |------|------|------|
340
+ | `uid` | `string` | FlowModel uid of the AI employee action. |
341
+ | `taskIndex` | `number` | Task index, starting from `0`. |
342
+ | `options.open` | `boolean` | Whether to open the AI employee conversation panel. |
343
+ | `options.auto` | `boolean` | Whether to use the auto-trigger semantics of an AI employee action. |
344
+ | `options.attachments` | `Attachment[]` | Attachments dynamically appended to the configured task. |
345
+ | `options.onResponseLoadingChange` | `(loading: boolean) => void` | Model response loading callback. It only runs when the configured task is sent automatically. |
346
+
347
+ This method reads the AI employee and task configuration from the target model. It is useful when the task has already been configured on an AI employee action on the page, and RunJS only needs to trigger it.
348
+
349
+ The public `triggerModelTask()` options do not accept `chatBoxUid`. To target an AI Chat Box, configure `chatBoxUid` on the preset task of the AI employee action. `triggerModelTask()` continues to reuse that preset value.
350
+
351
+ `options.onResponseLoadingChange` behaves the same as the option on `triggerTask()`. Whether it runs depends on the configured task's `autoSend` value. It does not run when that task uses `autoSend: false`.
352
+
353
+ ```ts
354
+ if (!ctx.ai?.triggerModelTask) {
355
+ ctx.message.error(ctx.t('AI employee task API is not available.'));
356
+ return;
357
+ }
358
+
359
+ const weeklyReviewActionUid = 'AI_EMPLOYEE_ACTION_MODEL_UID';
360
+
361
+ ctx.ai.triggerModelTask(weeklyReviewActionUid, 0, {
362
+ open: true,
363
+ attachments,
364
+ });
365
+
366
+ ctx.message.success(ctx.t('Configured AI employee task triggered.'));
367
+ ```
368
+
369
+ If the target model does not exist, has no AI employee configured, or the specified index has no task, no task is triggered and a warning is printed to the console.
370
+
371
+ ## Which Method to Use
372
+
373
+ | Scenario | Recommended method |
374
+ |------|------|
375
+ | Task content is assembled dynamically in RunJS, such as from form values. | `ctx.ai.triggerTask()` |
376
+ | The task has already been configured on an AI employee action on the page, and RunJS only triggers it. | `ctx.ai.triggerModelTask()` |
377
+ | Business users need to adjust task content without changing code. | `ctx.ai.triggerModelTask()` |
378
+ | The AI employee, prompt, or sending behavior needs to be decided at runtime. | `ctx.ai.triggerTask()` |
379
+
380
+ ## Notes
381
+
382
+ - `triggerTask()` and `triggerModelTask()` are fire-and-forget. They do not return the execution result of the AI employee task.
383
+ - `uploadFile()` returns a Promise. Wait for the upload to finish before triggering a task that uses the attachment.
384
+ - `aiEmployee` strings only match `AIEmployee.username` exactly. They do not match nicknames, job titles, or translated names.
385
+ - `triggerModelTask()` uses a `0`-based `taskIndex`.
386
+ - `triggerModelTask()` reads task configuration from the target AI employee action model. If the task needs work context, configure `message.workContext` on that task.
387
+ - Top-level `triggerTask().chatBoxUid` must reference an AI Chat Box block currently mounted on the page.
388
+ - `triggerModelTask()` keeps using `chatBoxUid` configured on its preset task.
389
+ - Dynamic `triggerModelTask()` attachments are appended to the preset task's existing `message.attachments` without changing the saved task configuration.
390
+ - `onResponseLoadingChange` only tracks a model response automatically sent by the current call. It does not track a message the user sends manually later.
391
+
392
+ ## Related
393
+
394
+ - [ctx.message](./message.md): Show lightweight prompts before and after triggering tasks.
395
+ - [ctx.render](./render.md): Render buttons or forms in JSBlock.
396
+ - [ctx.model](./model.md): Get current FlowModel information.
@@ -215,6 +215,29 @@ If you need to store sensitive files, it is recommended to use a cloud storage s
215
215
 
216
216
  For local storage or other public storage that can be accessed directly through same-origin application URLs, you should also pay extra attention to the risks introduced by active content files. Files such as `html`, `xhtml`, and `svg` may be parsed and executed directly by the browser. If an attacker can upload such a file and trick a user into opening it, the attacker may use your trusted application domain to host a malicious page or script.
217
217
 
218
+ NocoBase upload validation does not trust the `Content-Type` sent by the request. It prefers the MIME type detected on the server side. A file extension only represents the filename and should not be treated as the authoritative file content type. Therefore, when serving public uploaded files, you also need to make sure the file access path has proper security response headers.
219
+
220
+ If you deploy with Docker or use the nginx configuration generated by NocoBase, the upload directory already includes this protection: all uploaded files return `X-Content-Type-Options: nosniff`, and active content files such as `html`, `xhtml`, `svg`, `svgz`, and `pdf` are returned as downloads through `Content-Disposition: attachment`.
221
+
222
+ If you use a custom proxy, CDN, object storage, or expose the local upload directory directly, make sure these rules are not bypassed. You can use the following nginx configuration as a reference:
223
+
224
+ ```nginx
225
+ location ~* ^/storage/uploads/(.*\.(?:htm|html|svg|svgz|xhtml|pdf))$ {
226
+ alias /path/to/nocobase/storage/uploads/$1;
227
+ add_header Content-Disposition "attachment" always;
228
+ add_header X-Content-Type-Options "nosniff" always;
229
+ autoindex off;
230
+ }
231
+
232
+ location /storage/uploads/ {
233
+ alias /path/to/nocobase/storage/uploads/;
234
+ add_header X-Content-Type-Options "nosniff" always;
235
+ autoindex off;
236
+ }
237
+ ```
238
+
239
+ If your NocoBase app uses `APP_PUBLIC_PATH`, replace `/storage/uploads/` with the actual access prefix, such as `/nocobase/storage/uploads/`.
240
+
218
241
  In most cases, we recommend that administrators:
219
242
 
220
243
  - Prefer private storage, signed URLs, or a separate file domain, so that user-uploaded files are not served directly from the same origin as the main application.
@@ -1 +1,20 @@
1
- NocoBase offers step-by-step tutorial series to help you get started. Choose the version that suits you best.
1
+ ---
2
+ pageType: home
3
+ pageName: tutorials
4
+ title: "NocoBase Tutorials"
5
+ description: "Learn NocoBase step by step through complete system-building tutorials, practical building tips, and AI employee use cases."
6
+ keywords: "NocoBase tutorials,no-code tutorials,system building,building tips,AI employees"
7
+ features:
8
+ - title: "Building Tutorials"
9
+ details: "Choose a path—from building complete systems and learning focused techniques to applying AI employees in real work."
10
+ items:
11
+ - title: "System Building"
12
+ details: "Follow complete business tutorials covering data modeling, page building, workflows, permissions, and business interactions."
13
+ link: /tutorials/v2/
14
+ - title: "Building Tips"
15
+ details: "Learn reusable techniques for page design, data presentation, filter linkage, and cross-block interactions."
16
+ link: /building-tips/operations-dashboard
17
+ - title: "AI Employees"
18
+ details: "Connect AI employees to business pages and workflows for analysis, research, translation, and other real tasks."
19
+ link: /ai-employee-practices/company-background-research
20
+ ---