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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (662) hide show
  1. package/client-v2.d.ts +1 -0
  2. package/dist/ai/docs/nocobase/ai-dev/watermark-plugin.md +2 -0
  3. package/dist/ai/docs/nocobase/ai-employees/block/ai-chat-box.md +133 -0
  4. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/documents.md +1 -1
  5. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/index.md +11 -7
  6. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/settings.md +12 -8
  7. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/rag.md +43 -13
  8. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-database.md +3 -3
  9. package/dist/ai/docs/nocobase/ai-employees/scenarios/company-background-research.md +125 -0
  10. package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/create-document.md +1 -1
  11. package/dist/ai/docs/nocobase/api/app/env.md +2 -0
  12. package/dist/ai/docs/nocobase/api/cli/api/resource/create.md +4 -3
  13. package/dist/ai/docs/nocobase/building-tips/ai-fill-js-block-form.md +1092 -0
  14. package/dist/ai/docs/nocobase/building-tips/operations-dashboard.md +513 -0
  15. package/dist/ai/docs/nocobase/data-sources/calendar/calendar-collection.md +100 -3
  16. package/dist/ai/docs/nocobase/data-sources/collection-comment/index.md +92 -39
  17. package/dist/ai/docs/nocobase/data-sources/collection-sql/index.md +150 -29
  18. package/dist/ai/docs/nocobase/data-sources/collection-tree/index.md +93 -5
  19. package/dist/ai/docs/nocobase/data-sources/collection-view/index.md +226 -4
  20. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/china-region.md +122 -5
  21. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/collection-select.md +105 -4
  22. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/json.md +102 -4
  23. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/nano-id.md +104 -4
  24. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/snowflake-id.md +108 -4
  25. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/sort.md +3 -19
  26. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/uuid.md +104 -4
  27. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/index.md +44 -8
  28. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/color.md +102 -4
  29. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/email.md +104 -4
  30. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/icon.md +102 -4
  31. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/input.md +112 -8
  32. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/integer.md +103 -4
  33. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/number.md +103 -4
  34. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/password.md +102 -4
  35. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/percent.md +104 -5
  36. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/phone.md +104 -4
  37. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/textarea.md +99 -8
  38. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/url.md +103 -4
  39. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox-group.md +105 -3
  40. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox.md +102 -4
  41. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/china-region.md +108 -5
  42. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/multiple-select.md +103 -5
  43. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/radio-group.md +106 -4
  44. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/select.md +103 -5
  45. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/date.md +102 -4
  46. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime-without-tz.md +103 -5
  47. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime.md +103 -5
  48. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/index.md +53 -47
  49. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/time.md +102 -4
  50. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/unix-timestamp.md +103 -5
  51. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/circle.md +102 -4
  52. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/line.md +103 -5
  53. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/point.md +102 -4
  54. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/polygon.md +102 -4
  55. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/index.md +62 -16
  56. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/markdown.md +104 -4
  57. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/rich-text.md +105 -5
  58. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-at.md +105 -5
  59. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-by.md +103 -5
  60. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/space.md +100 -6
  61. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/table-oid.md +102 -4
  62. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-at.md +104 -5
  63. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-by.md +104 -6
  64. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/validation.md +68 -58
  65. package/dist/ai/docs/nocobase/data-sources/data-modeling/collection.md +32 -13
  66. package/dist/ai/docs/nocobase/data-sources/data-modeling/index.md +41 -33
  67. package/dist/ai/docs/nocobase/data-sources/data-source-external-mariadb/index.md +114 -6
  68. package/dist/ai/docs/nocobase/data-sources/data-source-external-mssql/index.md +117 -6
  69. package/dist/ai/docs/nocobase/data-sources/data-source-external-mysql/index.md +103 -6
  70. package/dist/ai/docs/nocobase/data-sources/data-source-external-nocobase/index.md +75 -73
  71. package/dist/ai/docs/nocobase/data-sources/data-source-external-oracle/index.md +129 -11
  72. package/dist/ai/docs/nocobase/data-sources/data-source-external-postgres/index.md +110 -6
  73. package/dist/ai/docs/nocobase/data-sources/data-source-kingbase/index.md +75 -49
  74. package/dist/ai/docs/nocobase/data-sources/data-source-main/general-collection.md +116 -15
  75. package/dist/ai/docs/nocobase/data-sources/data-source-main/index.md +92 -62
  76. package/dist/ai/docs/nocobase/data-sources/data-source-main/inheritance-collection.md +97 -10
  77. package/dist/ai/docs/nocobase/data-sources/data-source-manager/external-database.md +97 -58
  78. package/dist/ai/docs/nocobase/data-sources/data-source-manager/index.md +32 -24
  79. package/dist/ai/docs/nocobase/data-sources/data-source-rest-api/index.md +115 -153
  80. package/dist/ai/docs/nocobase/data-sources/external/clickhouse.md +124 -0
  81. package/dist/ai/docs/nocobase/data-sources/external/doris.md +130 -0
  82. package/dist/ai/docs/nocobase/data-sources/external/index.md +140 -0
  83. package/dist/ai/docs/nocobase/data-sources/external/kingbase.md +129 -0
  84. package/dist/ai/docs/nocobase/data-sources/external/mariadb.md +126 -0
  85. package/dist/ai/docs/nocobase/data-sources/external/mssql.md +129 -0
  86. package/dist/ai/docs/nocobase/data-sources/external/mysql.md +115 -0
  87. package/dist/ai/docs/nocobase/data-sources/external/nocobase.md +159 -0
  88. package/dist/ai/docs/nocobase/data-sources/external/oceanbase.md +126 -0
  89. package/dist/ai/docs/nocobase/data-sources/external/oracle.md +158 -0
  90. package/dist/ai/docs/nocobase/data-sources/external/postgresql.md +122 -0
  91. package/dist/ai/docs/nocobase/data-sources/external/rest-api.md +245 -0
  92. package/dist/ai/docs/nocobase/data-sources/field-attachment-url/index.md +100 -12
  93. package/dist/ai/docs/nocobase/data-sources/field-encryption/index.md +48 -47
  94. package/dist/ai/docs/nocobase/data-sources/field-formula/index.md +99 -5
  95. package/dist/ai/docs/nocobase/data-sources/field-markdown-vditor/index.md +105 -5
  96. package/dist/ai/docs/nocobase/data-sources/field-sequence/index.md +102 -5
  97. package/dist/ai/docs/nocobase/data-sources/field-signature/index.md +18 -16
  98. package/dist/ai/docs/nocobase/data-sources/field-sort/index.md +76 -73
  99. package/dist/ai/docs/nocobase/data-sources/file-manager/field-attachment.md +101 -7
  100. package/dist/ai/docs/nocobase/data-sources/file-manager/file-collection.md +101 -14
  101. package/dist/ai/docs/nocobase/data-sources/index.md +49 -33
  102. package/dist/ai/docs/nocobase/data-sources/main/index.md +130 -0
  103. package/dist/ai/docs/nocobase/data-sources/main/kingbase.md +147 -0
  104. package/dist/ai/docs/nocobase/data-sources/main/mariadb.md +59 -0
  105. package/dist/ai/docs/nocobase/data-sources/main/mysql.md +59 -0
  106. package/dist/ai/docs/nocobase/data-sources/main/oceanbase.md +62 -0
  107. package/dist/ai/docs/nocobase/data-sources/main/postgresql.md +61 -0
  108. package/dist/ai/docs/nocobase/file-manager/file-preview/index.md +44 -3
  109. package/dist/ai/docs/nocobase/file-manager/stable-url.md +87 -0
  110. package/dist/ai/docs/nocobase/file-manager/storage/aliyun-oss.md +100 -3
  111. package/dist/ai/docs/nocobase/file-manager/storage/index.md +66 -26
  112. package/dist/ai/docs/nocobase/file-manager/storage/local.md +3 -1
  113. package/dist/ai/docs/nocobase/file-manager/storage/s3-pro.md +58 -7
  114. package/dist/ai/docs/nocobase/get-started/deployment/production.md +24 -2
  115. package/dist/ai/docs/nocobase/get-started/installation/docker-caddy.mdx +3 -0
  116. package/dist/ai/docs/nocobase/get-started/installation/docker-nginx.mdx +3 -0
  117. package/dist/ai/docs/nocobase/get-started/installation/docker.mdx +27 -3
  118. package/dist/ai/docs/nocobase/get-started/installation/env.md +34 -1
  119. package/dist/ai/docs/nocobase/index.md +1 -1
  120. package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/comment.md +107 -0
  121. package/dist/ai/docs/nocobase/interface-builder/index.md +7 -6
  122. package/dist/ai/docs/nocobase/interface-builder/ui-layout/desktop.md +97 -0
  123. package/dist/ai/docs/nocobase/interface-builder/ui-layout/index.md +50 -0
  124. package/dist/ai/docs/nocobase/interface-builder/ui-layout/mobile.md +133 -0
  125. package/dist/ai/docs/nocobase/multi-app/multi-app-vs-multi-portal-vs-multi-space.md +159 -0
  126. package/dist/ai/docs/nocobase/multi-app/multi-portal/index.md +195 -0
  127. package/dist/ai/docs/nocobase/nocobase-cli/production/index.md +10 -0
  128. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/caddy.md +15 -2
  129. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/index.md +1 -1
  130. package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/nginx.md +16 -2
  131. package/dist/ai/docs/nocobase/ops-management/migration-manager/built-in-tables.md +1 -2
  132. package/dist/ai/docs/nocobase/plugin-development/build.md +10 -4
  133. package/dist/ai/docs/nocobase/plugin-development/client/appendix/faq.md +1 -1
  134. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-action.md +2 -0
  135. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-block.md +2 -0
  136. package/dist/ai/docs/nocobase/plugin-development/client/examples/custom-field.md +2 -0
  137. package/dist/ai/docs/nocobase/plugin-development/client/examples/fullstack-plugin.md +2 -0
  138. package/dist/ai/docs/nocobase/plugin-development/client/examples/settings-page.md +2 -0
  139. package/dist/ai/docs/nocobase/plugin-development/common/i18n.md +3 -3
  140. package/dist/ai/docs/nocobase/plugin-development/server/cache.md +1 -1
  141. package/dist/ai/docs/nocobase/plugin-development/server/collections.md +0 -6
  142. package/dist/ai/docs/nocobase/plugin-development/server/command.md +2 -2
  143. package/dist/ai/docs/nocobase/plugin-development/server/context.md +2 -2
  144. package/dist/ai/docs/nocobase/plugin-development/server/i18n.md +4 -4
  145. package/dist/ai/docs/nocobase/plugin-development/write-your-first-plugin.md +91 -43
  146. package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-comment/index.md +14 -0
  147. package/dist/ai/docs/nocobase/runjs/context/ai.md +396 -0
  148. package/dist/ai/docs/nocobase/security/guide.md +23 -0
  149. package/dist/ai/docs/nocobase/tutorials/index.md +20 -1
  150. package/dist/ai/docs/nocobase/users-permissions/sync/index.md +8 -1
  151. package/dist/ai/docs/nocobase/users-permissions/sync/sources/dingtalk.md +138 -0
  152. package/dist/ai/docs/nocobase/users-permissions/sync/sources/ldap.md +87 -0
  153. package/dist/ai/docs/nocobase/workflow/development/api.md +259 -77
  154. package/dist/ai/docs/nocobase/workflow/development/index.md +2 -1
  155. package/dist/ai/docs/nocobase/workflow/development/migration.md +319 -0
  156. package/dist/ai/docs/nocobase/workflow/development/node.md +84 -51
  157. package/dist/ai/docs/nocobase/workflow/development/trigger.md +122 -20
  158. package/dist/ai/docs/nocobase/workflow/nodes/javascript.md +21 -1
  159. package/dist/ai/tools/executeFrontendTool.d.ts +10 -0
  160. package/dist/ai/tools/executeFrontendTool.js +86 -0
  161. package/dist/ai/tools/formFiller.js +4 -3
  162. package/dist/ai/tools/getSkill.js +1 -1
  163. package/dist/ai/tools/knowledge-base-retrieve.js +3 -1
  164. package/dist/ai/tools/loadFrontendTool.d.ts +10 -0
  165. package/dist/ai/tools/loadFrontendTool.js +99 -0
  166. package/dist/ai/tools/subAgentWebSearch.js +20 -15
  167. package/dist/client/23.65ea8c37cd4b884b.js +10 -0
  168. package/dist/client/244.28ee769f796b7c2f.js +10 -0
  169. package/dist/client/264.cc98933ef65608b6.js +10 -0
  170. package/dist/client/336.7a8a8853196ad779.js +11 -0
  171. package/dist/client/416.92b74ca47e4099c4.js +10 -0
  172. package/dist/client/446.d63c38d0309fe250.js +10 -0
  173. package/dist/client/525.94dd4136c1361477.js +10 -0
  174. package/dist/client/663.680bcf6272a8504d.js +10 -0
  175. package/dist/client/681.6ffbc9329b9ac242.js +10 -0
  176. package/dist/client/705.a4fe26945d175e8a.js +10 -0
  177. package/dist/client/ai-employees/1.x/selector/AIContextCollector.d.ts +1 -4
  178. package/dist/client/ai-employees/permissions/PermissionsTab.d.ts +21 -5
  179. package/dist/client/index.d.ts +13 -20
  180. package/dist/client/index.js +8 -8
  181. package/dist/client/workflow/nodes/employee/index.d.ts +2 -23
  182. package/dist/client/workflow/nodes/llm/index.d.ts +2 -52
  183. package/dist/client/workflow/triggers/ai-employee/index.d.ts +2 -83
  184. package/dist/client-v2/23.1bcb6986b40723d8.js +10 -0
  185. package/dist/client-v2/244.39348a95d627d9e3.js +10 -0
  186. package/dist/client-v2/264.be92ff6a4d2612f1.js +10 -0
  187. package/dist/client-v2/336.e406470429e0670e.js +11 -0
  188. package/dist/client-v2/416.0e1c2d9cde43b83d.js +10 -0
  189. package/dist/client-v2/420.a5b929a5e7f330be.js +10 -0
  190. package/dist/client-v2/446.073d450882db29fd.js +10 -0
  191. package/dist/client-v2/457.d72febb89e88fc00.js +10 -0
  192. package/dist/client-v2/663.342341f0b2b412d8.js +10 -0
  193. package/dist/client-v2/681.6890caa389564ff7.js +10 -0
  194. package/dist/client-v2/705.f2e1b26a3f000075.js +10 -0
  195. package/dist/{client/ai-employees/admin/AvatarSelect.d.ts → client-v2/ai-employees/AIEmployeeDropdown.d.ts} +8 -9
  196. package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +11 -2
  197. package/dist/{client → client-v2}/ai-employees/AddContextButton.d.ts +3 -1
  198. package/dist/{client → client-v2}/ai-employees/ai-coding/AICodingButton.d.ts +2 -1
  199. package/dist/{client/ai-employees/chatbox/AIEmployeeSwitch.d.ts → client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts} +1 -0
  200. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Actions.d.ts +2 -4
  201. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/AddLLMModal.d.ts +2 -4
  202. package/dist/client-v2/ai-employees/chatbox/components/Attachments.d.ts +27 -0
  203. package/dist/{client/ai-employees/permissions/Permissions.d.ts → client-v2/ai-employees/chatbox/components/ChatBox.d.ts} +2 -2
  204. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatBoxLayout.d.ts +1 -1
  205. package/dist/{client/ai-employees/chatbox/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/ChatBoxUnreadBadge.d.ts} +6 -7
  206. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ContextItem.d.ts +1 -1
  207. package/dist/client-v2/ai-employees/chatbox/components/Conversations.d.ts +18 -0
  208. package/dist/{client/ai-employees/ai-coding/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/Markdown.d.ts} +12 -3
  209. package/dist/{client/ai-employees/1.x/selector/BlockSelector.d.ts → client-v2/ai-employees/chatbox/components/MessageContent.d.ts} +3 -4
  210. package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +39 -0
  211. package/dist/{client/ai-employees/admin/datasource/components/DatasourceSettingDetail.d.ts → client-v2/ai-employees/chatbox/components/Messages.d.ts} +4 -4
  212. package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ModelSwitcher.d.ts +4 -0
  213. package/dist/client-v2/ai-employees/chatbox/components/Sender.d.ts +42 -0
  214. package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolCard.d.ts +7 -5
  215. package/dist/client-v2/ai-employees/chatbox/components/index.d.ts +14 -0
  216. package/dist/client-v2/ai-employees/chatbox/hooks/reasoning-stream.d.ts +10 -0
  217. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChat.d.ts +29 -27
  218. package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +5 -3
  219. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +2 -1
  220. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +5 -4
  221. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +12 -6
  222. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useToolCallActions.d.ts +4 -2
  223. package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +56 -0
  224. package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +4 -3
  225. package/dist/client-v2/ai-employees/chatbox/index.d.ts +17 -0
  226. package/dist/{client → client-v2}/ai-employees/chatbox/model.d.ts +9 -2
  227. package/dist/client-v2/ai-employees/chatbox/roles.d.ts +11 -0
  228. package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +46 -81
  229. package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +8 -25
  230. package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +23 -63
  231. package/dist/client-v2/ai-employees/chatbox/stores/chat-sender.d.ts +43 -0
  232. package/dist/{client → client-v2}/ai-employees/chatbox/stores/chat-tool-call.d.ts +6 -19
  233. package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +36 -0
  234. package/dist/client-v2/ai-employees/chatbox/stores/mounted-chat-boxes.d.ts +20 -0
  235. package/dist/client-v2/ai-employees/chatbox/stores/runtime.d.ts +43 -0
  236. package/dist/client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts +72 -0
  237. package/dist/client-v2/ai-employees/chatbox/upload.d.ts +19 -0
  238. package/dist/client-v2/ai-employees/chatbox/utils.d.ts +85 -0
  239. package/dist/{client/ai-employees/data-visualization/context.d.ts → client-v2/ai-employees/context/chart-config.d.ts} +1 -1
  240. package/dist/{client → client-v2}/ai-employees/context/code-editor.d.ts +1 -1
  241. package/dist/{client → client-v2}/ai-employees/context/datasource.d.ts +1 -1
  242. package/dist/{client → client-v2}/ai-employees/context/flow-models.d.ts +1 -1
  243. package/dist/client-v2/ai-employees/data-modeling/setup.d.ts +15 -0
  244. package/dist/{client → client-v2}/ai-employees/datasource/DatasourceSelector.d.ts +6 -2
  245. package/dist/{client/ai-employees/admin/datasource/flow-models/DatasourceSettingModel.d.ts → client-v2/ai-employees/flow/index.d.ts} +4 -6
  246. package/dist/{client → client-v2}/ai-employees/form-filler/tools/index.d.ts +1 -1
  247. package/dist/{client/ai-employees/ai-coding/tools/index.d.ts → client-v2/ai-employees/frontend-tools.d.ts} +3 -3
  248. package/dist/{client → client-v2}/ai-employees/stores/ai-selection.d.ts +4 -4
  249. package/dist/{client → client-v2}/ai-employees/stores/dialog-controller.d.ts +4 -4
  250. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportCard.d.ts +2 -2
  251. package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportModal.d.ts +2 -2
  252. package/dist/{client/ai-employees/1.x/selector/withAISelectable.d.ts → client-v2/ai-employees/tools/ChartGeneratorCard.d.ts} +5 -4
  253. package/dist/{client/ai-employees/ai-coding/ui → client-v2/ai-employees/tools}/CodeToolCard.d.ts +1 -1
  254. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingCard.d.ts +3 -5
  255. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingModal.d.ts +4 -6
  256. package/dist/{client/ai-employees/sub-agents/ui → client-v2/ai-employees/tools}/SubAgentDispatchCard.d.ts +4 -9
  257. package/dist/client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts +16 -0
  258. package/dist/client-v2/ai-employees/tools/WorkflowTaskOutputCard.d.ts +16 -0
  259. package/dist/{client/ai-employees/ai-coding/tools/context-tools.d.ts → client-v2/ai-employees/tools/ai-coding.d.ts} +3 -1
  260. package/dist/client-v2/ai-employees/tools/business-report-utils.d.ts +45 -0
  261. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/CollectionNode.d.ts +2 -3
  262. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Diagram.d.ts +1 -1
  263. package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Table.d.ts +2 -2
  264. package/dist/client-v2/ai-employees/tools/data-modeling/legacy-template.d.ts +13 -0
  265. package/dist/client-v2/ai-employees/tools/data-modeling/runtime.d.ts +15 -0
  266. package/dist/{client/ai-employees → client-v2/ai-employees/tools}/data-modeling/types.d.ts +27 -4
  267. package/dist/client-v2/ai-employees/tools/data-modeling/useFieldInterfaceOptions.d.ts +151 -0
  268. package/dist/{client/ai-employees/data-visualization/tools/index.d.ts → client-v2/ai-employees/tools/data-visualization.d.ts} +1 -1
  269. package/dist/client-v2/ai-employees/tools/index.d.ts +32 -0
  270. package/dist/client-v2/ai-employees/types.d.ts +131 -7
  271. package/dist/client-v2/block/ai-chat-box/AIChatBoxBlockModel.d.ts +21 -0
  272. package/dist/{client/workflow/nodes/employee/flow-models/task.d.ts → client-v2/block/ai-chat-box/AIChatBoxCoreModel.d.ts} +1 -1
  273. package/dist/{client/admin-settings/AdminSettings.d.ts → client-v2/block/ai-chat-box/components/AIChatBoxCoreView.d.ts} +1 -1
  274. package/dist/{client/ai-employees/AIEmployeeListItem.d.ts → client-v2/block/ai-chat-box/components/AIChatBoxView.d.ts} +3 -5
  275. package/dist/client-v2/block/ai-chat-box/index.d.ts +14 -0
  276. package/dist/client-v2/block/ai-chat-box/settings.d.ts +12 -0
  277. package/dist/client-v2/block/ai-chat-box/sub-models.d.ts +26 -0
  278. package/dist/client-v2/block/ai-chat-box/types.d.ts +38 -0
  279. package/dist/client-v2/block/ai-chat-box/utils.d.ts +26 -0
  280. package/dist/client-v2/components/RemoteSelect.d.ts +43 -0
  281. package/dist/client-v2/f0053e745af0ad03.svg +50 -0
  282. package/dist/client-v2/index.d.ts +11 -12
  283. package/dist/client-v2/index.js +37 -1
  284. package/dist/client-v2/llm-providers/forms.d.ts +46 -0
  285. package/dist/client-v2/llm-providers/index.d.ts +25 -0
  286. package/dist/client-v2/llm-services/model-select.d.ts +33 -0
  287. package/dist/client-v2/llm-services/utils.d.ts +14 -0
  288. package/dist/client-v2/locale.d.ts +14 -0
  289. package/dist/client-v2/manager/ai-manager.d.ts +62 -0
  290. package/dist/client-v2/manager/frontend-tool-registry.d.ts +30 -0
  291. package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +36 -0
  292. package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +52 -0
  293. package/dist/client-v2/pages/AdminSettingsPage.d.ts +24 -0
  294. package/dist/client-v2/pages/DatasourceSettingsPage.d.ts +62 -0
  295. package/dist/client-v2/pages/EmployeesPage.d.ts +74 -0
  296. package/dist/client-v2/pages/LLMServicesPage.d.ts +80 -0
  297. package/dist/client-v2/pages/MCPSettingsPage.d.ts +73 -0
  298. package/dist/client-v2/pages/drawerWidth.d.ts +10 -0
  299. package/dist/client-v2/pages/permissions/Permissions.d.ts +67 -0
  300. package/dist/client-v2/pages/permissions/PermissionsTab.d.ts +12 -0
  301. package/dist/client-v2/pages/useUnsavedChangesBeforeClose.d.ts +29 -0
  302. package/dist/client-v2/plugin.d.ts +33 -0
  303. package/dist/client-v2/repositories/AIConfigRepository.d.ts +5 -23
  304. package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +21 -0
  305. package/dist/client-v2/workflow/components/FormValueRegistry.d.ts +12 -0
  306. package/dist/{client/components/ListCollapse.d.ts → client-v2/workflow/components/WorkflowListCollapse.d.ts} +4 -4
  307. package/dist/client-v2/workflow/constants.d.ts +26 -0
  308. package/dist/client-v2/workflow/nodes/employee/components/AIEmployeeFieldset.d.ts +11 -0
  309. package/dist/{client/ai-employees/common/CodeHighlight.d.ts → client-v2/workflow/nodes/employee/components/AIEmployeeSelect.d.ts} +5 -6
  310. package/dist/{client/ai-employees/ContextAwareTooltip.d.ts → client-v2/workflow/nodes/employee/components/Assignees.d.ts} +2 -1
  311. package/dist/client-v2/workflow/nodes/employee/components/FeedbackSettings.d.ts +17 -0
  312. package/dist/client-v2/workflow/nodes/employee/components/FileInputs.d.ts +11 -0
  313. package/dist/{client/ai-employees/AIEmployeesProvider.d.ts → client-v2/workflow/nodes/employee/components/MessageInputs.d.ts} +2 -3
  314. package/dist/client-v2/workflow/nodes/employee/components/ModelOptions.d.ts +17 -0
  315. package/dist/{client/ai-employees/admin/datasource/components/basic/CollectionCascader.d.ts → client-v2/workflow/nodes/employee/components/SkillSettings.d.ts} +6 -3
  316. package/dist/client-v2/workflow/nodes/employee/components/StructuredOutput.d.ts +11 -0
  317. package/dist/client-v2/workflow/nodes/employee/components/UserInput.d.ts +18 -0
  318. package/dist/{client/ai-employees/AISettingsProvider.d.ts → client-v2/workflow/nodes/employee/components/WebSearchOptions.d.ts} +6 -8
  319. package/dist/client-v2/workflow/nodes/employee/index.d.ts +23 -0
  320. package/dist/client-v2/workflow/nodes/llm/components/LLMFieldset.d.ts +12 -0
  321. package/dist/{client/ai-employees/chatbox → client-v2/workflow/nodes/llm/components}/Messages.d.ts +2 -1
  322. package/dist/client-v2/workflow/nodes/llm/components/StructuredOutput.d.ts +11 -0
  323. package/dist/client-v2/workflow/nodes/llm/index.d.ts +30 -0
  324. package/dist/client-v2/workflow/register.d.ts +10 -0
  325. package/dist/client-v2/workflow/triggers/ai-employee/AIEmployeeTriggerConfig.d.ts +11 -0
  326. package/dist/client-v2/workflow/triggers/ai-employee/Parameters.d.ts +11 -0
  327. package/dist/client-v2/workflow/triggers/ai-employee/index.d.ts +25 -0
  328. package/dist/client-v2/workflow/types.d.ts +128 -0
  329. package/dist/collections/ai-employees.d.ts +1 -0
  330. package/dist/collections/ai-employees.js +1 -0
  331. package/dist/common/ai-employee-validation.d.ts +15 -0
  332. package/dist/common/ai-employee-validation.js +61 -0
  333. package/dist/common/error-codes.d.ts +13 -0
  334. package/dist/common/error-codes.js +48 -0
  335. package/dist/common/frontend-tools.d.ts +26 -0
  336. package/dist/common/frontend-tools.js +57 -0
  337. package/dist/common/llm-service-models.d.ts +16 -0
  338. package/dist/common/llm-service-models.js +84 -0
  339. package/dist/externalVersion.js +23 -26
  340. package/dist/locale/de-DE.json +2 -1
  341. package/dist/locale/en-US.json +129 -1
  342. package/dist/locale/es-ES.json +2 -1
  343. package/dist/locale/fr-FR.json +2 -1
  344. package/dist/locale/hu-HU.json +2 -1
  345. package/dist/locale/id-ID.json +2 -1
  346. package/dist/locale/it-IT.json +2 -1
  347. package/dist/locale/ja-JP.json +2 -1
  348. package/dist/locale/ko-KR.json +2 -1
  349. package/dist/locale/nl-NL.json +2 -1
  350. package/dist/locale/pt-BR.json +2 -1
  351. package/dist/locale/ru-RU.json +2 -1
  352. package/dist/locale/tr-TR.json +2 -1
  353. package/dist/locale/uk-UA.json +2 -1
  354. package/dist/locale/vi-VN.json +2 -1
  355. package/dist/locale/zh-CN.json +129 -1
  356. package/dist/locale/zh-TW.json +2 -1
  357. package/dist/node_modules/@langchain/mistralai/package.json +1 -1
  358. package/dist/node_modules/@langchain/xai/package.json +1 -1
  359. package/dist/node_modules/fs-extra/package.json +1 -1
  360. package/dist/node_modules/jsonrepair/package.json +1 -1
  361. package/dist/node_modules/just-bash/package.json +1 -1
  362. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  363. package/dist/node_modules/openai/package.json +1 -1
  364. package/dist/node_modules/zod/package.json +1 -1
  365. package/dist/server/ai-employees/ai-conversations.d.ts +4 -1
  366. package/dist/server/ai-employees/ai-conversations.js +2 -0
  367. package/dist/server/ai-employees/ai-employee.d.ts +5 -1
  368. package/dist/server/ai-employees/ai-employee.js +149 -49
  369. package/dist/server/ai-employees/ai-knowledge-base.d.ts +21 -1
  370. package/dist/server/ai-employees/ai-knowledge-base.js +76 -8
  371. package/dist/server/ai-employees/middleware/conversation.js +9 -2
  372. package/dist/server/ai-employees/prompts.d.ts +2 -1
  373. package/dist/server/ai-employees/prompts.js +8 -2
  374. package/dist/server/ai-employees/reasoning-stream-state.d.ts +23 -0
  375. package/dist/server/ai-employees/reasoning-stream-state.js +63 -0
  376. package/dist/server/ai-employees/tool-call-sanitizer.d.ts +1 -0
  377. package/dist/server/ai-employees/tool-call-sanitizer.js +2 -1
  378. package/dist/server/ai-employees/utils.js +11 -5
  379. package/dist/server/attachments.d.ts +24 -0
  380. package/dist/server/attachments.js +204 -0
  381. package/dist/server/collections/ai-conversations.js +5 -0
  382. package/dist/server/collections/ai-usage-events.d.ts +10 -0
  383. package/dist/server/collections/ai-usage-events.js +183 -0
  384. package/dist/server/document-loader/cached.d.ts +1 -0
  385. package/dist/server/document-loader/cached.js +18 -9
  386. package/dist/server/document-loader/constants.js +1 -1
  387. package/dist/server/document-loader/loader.d.ts +0 -1
  388. package/dist/server/document-loader/loader.js +25 -8
  389. package/dist/server/document-loader/types.d.ts +7 -0
  390. package/dist/server/features/knowledge-base.d.ts +2 -0
  391. package/dist/server/frontend-tools.d.ts +25 -0
  392. package/dist/server/frontend-tools.js +171 -0
  393. package/dist/server/llm-providers/anthropic.d.ts +2 -1
  394. package/dist/server/llm-providers/anthropic.js +1 -3
  395. package/dist/server/llm-providers/common/reasoning.js +18 -10
  396. package/dist/server/llm-providers/dashscope.d.ts +2 -1
  397. package/dist/server/llm-providers/dashscope.js +16 -1
  398. package/dist/{client/ai-employees/datasource → server/llm-providers/deepseek}/index.d.ts +2 -1
  399. package/dist/server/llm-providers/deepseek/index.js +32 -0
  400. package/dist/server/llm-providers/deepseek/provider.d.ts +57 -0
  401. package/dist/server/llm-providers/deepseek/provider.js +320 -0
  402. package/dist/server/llm-providers/deepseek/reasoning.d.ts +83 -0
  403. package/dist/server/llm-providers/deepseek/reasoning.js +285 -0
  404. package/dist/server/llm-providers/google-genai.d.ts +1 -1
  405. package/dist/server/llm-providers/google-genai.js +1 -5
  406. package/dist/server/llm-providers/kimi/provider.d.ts +2 -1
  407. package/dist/server/llm-providers/kimi/provider.js +22 -2
  408. package/dist/server/llm-providers/mistral.d.ts +36 -2
  409. package/dist/server/llm-providers/mistral.js +62 -2
  410. package/dist/server/llm-providers/openai/completions.d.ts +2 -1
  411. package/dist/server/llm-providers/openai/completions.js +17 -1
  412. package/dist/server/llm-providers/openai/responses.d.ts +2 -1
  413. package/dist/server/llm-providers/openai/responses.js +17 -1
  414. package/dist/server/llm-providers/orcarouter.d.ts +35 -0
  415. package/dist/server/llm-providers/{deepseek.js → orcarouter.js} +68 -56
  416. package/dist/server/llm-providers/provider.d.ts +11 -2
  417. package/dist/server/llm-providers/provider.js +36 -4
  418. package/dist/server/llm-providers/shengsuanyun.d.ts +29 -0
  419. package/dist/server/llm-providers/shengsuanyun.js +114 -0
  420. package/dist/server/manager/ai-chat-conversation.js +2 -0
  421. package/dist/server/manager/ai-context-datasource-manager.js +34 -7
  422. package/dist/server/manager/ai-feature-manager.js +1 -1
  423. package/dist/server/manager/ai-manager.d.ts +5 -1
  424. package/dist/server/manager/ai-manager.js +11 -3
  425. package/dist/server/manager/ai-usage-events.d.ts +49 -0
  426. package/dist/server/manager/ai-usage-events.js +195 -0
  427. package/dist/server/manager/work-context-handler.js +10 -3
  428. package/dist/server/migrations/20260501000000-ai-employee-knowledge-base-retrieval-strategy.d.ts +14 -0
  429. package/dist/server/migrations/20260501000000-ai-employee-knowledge-base-retrieval-strategy.js +49 -0
  430. package/dist/server/plugin.d.ts +1 -0
  431. package/dist/server/plugin.js +47 -0
  432. package/dist/server/resource/aiConversations.d.ts +2 -0
  433. package/dist/server/resource/aiConversations.js +77 -4
  434. package/dist/server/resource/aiEmployees.d.ts +2 -0
  435. package/dist/server/resource/aiEmployees.js +70 -0
  436. package/dist/server/resource/aiWorkflowTasks.js +9 -1
  437. package/dist/server/resource/llmServices.d.ts +11 -0
  438. package/dist/server/resource/llmServices.js +85 -0
  439. package/dist/server/types/ai-message.type.d.ts +4 -0
  440. package/dist/server/types/knowledge-base.type.d.ts +8 -3
  441. package/dist/server/utils.d.ts +5 -2
  442. package/dist/server/utils.js +11 -19
  443. package/dist/server/workflow/nodes/employee/files.d.ts +3 -1
  444. package/dist/server/workflow/nodes/employee/files.js +31 -5
  445. package/dist/swagger/common.d.ts +143 -0
  446. package/dist/swagger/common.js +144 -0
  447. package/dist/swagger/employees.d.ts +301 -0
  448. package/dist/swagger/employees.js +131 -0
  449. package/dist/swagger/index.d.ts +1617 -0
  450. package/dist/swagger/index.js +62 -0
  451. package/dist/swagger/llm.d.ts +563 -0
  452. package/dist/swagger/llm.js +255 -0
  453. package/dist/swagger/schemas.d.ts +757 -0
  454. package/dist/swagger/schemas.js +392 -0
  455. package/package.json +5 -5
  456. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-store.md +0 -24
  457. package/dist/ai/docs/nocobase/data-sources/development/index.md +0 -6
  458. package/dist/client/119.c6bf8c6433167d81.js +0 -10
  459. package/dist/client/170.d98eacdc00d9d527.js +0 -10
  460. package/dist/client/228.b4b709f93b86b6b9.js +0 -10
  461. package/dist/client/280.003b9e9788599244.js +0 -10
  462. package/dist/client/290.0f7f441d8a94f03c.js +0 -10
  463. package/dist/client/331.d547c95410476a69.js +0 -10
  464. package/dist/client/406.15c09d98faa2ccf1.js +0 -10
  465. package/dist/client/428.5eb4f53ddbb6a3b8.js +0 -10
  466. package/dist/client/462.d172d0fe91519e35.js +0 -10
  467. package/dist/client/486.dcac8f3fcec19c33.js +0 -10
  468. package/dist/client/502.2b4a51e0a8122e52.js +0 -10
  469. package/dist/client/525.33a9c8ec28be4ec4.js +0 -10
  470. package/dist/client/559.9f97ebcdb0bd6231.js +0 -10
  471. package/dist/client/561.7ec804ef39ec7dcd.js +0 -10
  472. package/dist/client/580.35ba54ff91b7fe6d.js +0 -10
  473. package/dist/client/597.b0d64948d74cf6cb.js +0 -10
  474. package/dist/client/604.89c674f35b52b4ef.js +0 -10
  475. package/dist/client/614.aa766080f6b99aab.js +0 -10
  476. package/dist/client/646.d4483b4ff23da0a0.js +0 -10
  477. package/dist/client/687.224e569a99cae4bb.js +0 -10
  478. package/dist/client/699.57c0a1acb723202a.js +0 -10
  479. package/dist/client/711.92cd94681fde7e05.js +0 -10
  480. package/dist/client/758.a9741e81911e53c3.js +0 -10
  481. package/dist/client/768.5177bff46ae71a5b.js +0 -10
  482. package/dist/client/792.abb57765453bcbcc.js +0 -10
  483. package/dist/client/820.f72ef2462b61d812.js +0 -10
  484. package/dist/client/832.0cf69e3f43c320b2.js +0 -10
  485. package/dist/client/927.d95c74ebb8fd51c9.js +0 -10
  486. package/dist/client/ai-employees/1.x/selector/AISelectorProvider.d.ts +0 -33
  487. package/dist/client/ai-employees/ProfileCard.d.ts +0 -15
  488. package/dist/client/ai-employees/admin/ChatSettings.d.ts +0 -10
  489. package/dist/client/ai-employees/admin/DataSourceSettings.d.ts +0 -10
  490. package/dist/client/ai-employees/admin/Employees.d.ts +0 -10
  491. package/dist/client/ai-employees/admin/EnableSwitch.d.ts +0 -10
  492. package/dist/client/ai-employees/admin/InputsFormSettings.d.ts +0 -10
  493. package/dist/client/ai-employees/admin/KnowledgeBaseSettings.d.ts +0 -10
  494. package/dist/client/ai-employees/admin/ModelSettings.d.ts +0 -10
  495. package/dist/client/ai-employees/admin/ProfileSettings.d.ts +0 -12
  496. package/dist/client/ai-employees/admin/SkillSettings.d.ts +0 -19
  497. package/dist/client/ai-employees/admin/SystemPrompt.d.ts +0 -10
  498. package/dist/client/ai-employees/admin/Templates.d.ts +0 -10
  499. package/dist/client/ai-employees/admin/ToolsSettings.d.ts +0 -17
  500. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingForm.d.ts +0 -10
  501. package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingGrid.d.ts +0 -10
  502. package/dist/client/ai-employees/admin/datasource/components/basic/FieldsTransfer.d.ts +0 -17
  503. package/dist/client/ai-employees/admin/datasource/components/basic/index.d.ts +0 -10
  504. package/dist/client/ai-employees/admin/datasource/components/form-steps/CollectionSetting.d.ts +0 -17
  505. package/dist/client/ai-employees/admin/datasource/components/form-steps/FieldsSetting.d.ts +0 -15
  506. package/dist/client/ai-employees/admin/datasource/components/form-steps/FilterSetting.d.ts +0 -17
  507. package/dist/client/ai-employees/admin/datasource/components/form-steps/Preview.d.ts +0 -13
  508. package/dist/client/ai-employees/admin/datasource/components/form-steps/SortSetting.d.ts +0 -15
  509. package/dist/client/ai-employees/admin/datasource/components/form-steps/index.d.ts +0 -13
  510. package/dist/client/ai-employees/admin/datasource/components/index.d.ts +0 -9
  511. package/dist/client/ai-employees/admin/datasource/context.d.ts +0 -17
  512. package/dist/client/ai-employees/admin/datasource/flow-models/index.d.ts +0 -9
  513. package/dist/client/ai-employees/admin/datasource/index.d.ts +0 -10
  514. package/dist/client/ai-employees/admin/hooks.d.ts +0 -39
  515. package/dist/client/ai-employees/admin/mcp/MCPSettings.d.ts +0 -10
  516. package/dist/client/ai-employees/admin/mcp/MCPToolsList.d.ts +0 -19
  517. package/dist/client/ai-employees/admin/mcp/context.d.ts +0 -15
  518. package/dist/client/ai-employees/admin/mcp/schemas.d.ts +0 -1314
  519. package/dist/client/ai-employees/ai-coding/CodeHistory.d.ts +0 -10
  520. package/dist/client/ai-employees/avatars.d.ts +0 -9
  521. package/dist/client/ai-employees/built-in/utils.d.ts +0 -15
  522. package/dist/client/ai-employees/business-report/tools/index.d.ts +0 -10
  523. package/dist/client/ai-employees/business-report/ui/report-utils.d.ts +0 -38
  524. package/dist/client/ai-employees/chart-generator/tools/index.d.ts +0 -10
  525. package/dist/client/ai-employees/chart-generator/ui/ECharts.d.ts +0 -13
  526. package/dist/client/ai-employees/chatbox/AIThinking.d.ts +0 -12
  527. package/dist/client/ai-employees/chatbox/Attachment.d.ts +0 -14
  528. package/dist/client/ai-employees/chatbox/AttachmentsHeader.d.ts +0 -10
  529. package/dist/client/ai-employees/chatbox/ChatBox.d.ts +0 -12
  530. package/dist/client/ai-employees/chatbox/ContextItemsHeader.d.ts +0 -10
  531. package/dist/client/ai-employees/chatbox/DebugPanel.d.ts +0 -16
  532. package/dist/client/ai-employees/chatbox/EditMessageHeader.d.ts +0 -10
  533. package/dist/client/ai-employees/chatbox/HintMessageHeader.d.ts +0 -10
  534. package/dist/client/ai-employees/chatbox/MessageRenderer.d.ts +0 -33
  535. package/dist/client/ai-employees/chatbox/Sender.d.ts +0 -10
  536. package/dist/client/ai-employees/chatbox/SenderFooter.d.ts +0 -13
  537. package/dist/client/ai-employees/chatbox/SenderHeader.d.ts +0 -10
  538. package/dist/client/ai-employees/chatbox/SenderPrefix.d.ts +0 -10
  539. package/dist/client/ai-employees/chatbox/Upload.d.ts +0 -12
  540. package/dist/client/ai-employees/chatbox/VirtualList.d.ts +0 -28
  541. package/dist/client/ai-employees/chatbox/conversations/Conversations.d.ts +0 -10
  542. package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +0 -13
  543. package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +0 -13
  544. package/dist/client/ai-employees/chatbox/conversations/common.d.ts +0 -43
  545. package/dist/client/ai-employees/chatbox/conversations/index.d.ts +0 -9
  546. package/dist/client/ai-employees/chatbox/generative-ui/DefaultToolCard.d.ts +0 -16
  547. package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +0 -18
  548. package/dist/client/ai-employees/chatbox/hooks/useUploadFiles.d.ts +0 -12
  549. package/dist/client/ai-employees/chatbox/markdown/ECharts.d.ts +0 -10
  550. package/dist/client/ai-employees/chatbox/markdown/Form.d.ts +0 -10
  551. package/dist/client/ai-employees/chatbox/markdown/Generating.d.ts +0 -10
  552. package/dist/client/ai-employees/chatbox/markdown/Markdown.d.ts +0 -13
  553. package/dist/client/ai-employees/chatbox/roles.d.ts +0 -32
  554. package/dist/client/ai-employees/chatbox/stores/chat-box.d.ts +0 -9
  555. package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +0 -9
  556. package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +0 -9
  557. package/dist/client/ai-employees/chatbox/stores/chat-tools.d.ts +0 -51
  558. package/dist/client/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
  559. package/dist/client/ai-employees/chatbox/stores/workflow-tasks.d.ts +0 -45
  560. package/dist/client/ai-employees/chatbox/utils.d.ts +0 -41
  561. package/dist/client/ai-employees/context/classic-pages.d.ts +0 -10
  562. package/dist/client/ai-employees/data-modeling/Table.d.ts +0 -12
  563. package/dist/client/ai-employees/data-modeling/setup.d.ts +0 -10
  564. package/dist/client/ai-employees/data-modeling/tools/index.d.ts +0 -10
  565. package/dist/client/ai-employees/data-modeling/ui/useFieldInterfaceOptions.d.ts +0 -14
  566. package/dist/client/ai-employees/datasource/DatasourceList.d.ts +0 -17
  567. package/dist/client/ai-employees/flow/events/index.d.ts +0 -9
  568. package/dist/client/ai-employees/flow/index.d.ts +0 -36
  569. package/dist/client/ai-employees/flow/models/AIEmployeeActionModel.d.ts +0 -18
  570. package/dist/client/ai-employees/flow/models/AIEmployeeShortcutModel.d.ts +0 -30
  571. package/dist/client/ai-employees/shortcuts/ShortcutList.d.ts +0 -10
  572. package/dist/client/ai-employees/shortcuts/useShortcuts.d.ts +0 -13
  573. package/dist/client/ai-employees/stores/context-aware.d.ts +0 -19
  574. package/dist/client/ai-employees/sub-agents/tools/index.d.ts +0 -10
  575. package/dist/client/ai-employees/suggestions/tools/index.d.ts +0 -10
  576. package/dist/client/ai-employees/suggestions/ui/SuggestionsOptions.d.ts +0 -13
  577. package/dist/client/ai-employees/types.d.ts +0 -259
  578. package/dist/client/ai-employees/workflow-tasks/tools/index.d.ts +0 -10
  579. package/dist/client/ai-employees/workflow-tasks/ui/WorkflowTaskOutputCard.d.ts +0 -11
  580. package/dist/client/chat-settings/Messages.d.ts +0 -11
  581. package/dist/client/chat-settings/StructuredOutput.d.ts +0 -11
  582. package/dist/client/components/skill-settings.d.ts +0 -22
  583. package/dist/client/debug-logger.d.ts +0 -52
  584. package/dist/client/features/components.d.ts +0 -9
  585. package/dist/client/features/feature-manager.d.ts +0 -9
  586. package/dist/client/features/index.d.ts +0 -9
  587. package/dist/client/features/vector-database-provider.d.ts +0 -9
  588. package/dist/client/features/vector-store-provider.d.ts +0 -9
  589. package/dist/client/llm-providers/anthropic/ModelSettings.d.ts +0 -10
  590. package/dist/client/llm-providers/anthropic/ProviderSettings.d.ts +0 -10
  591. package/dist/client/llm-providers/anthropic/index.d.ts +0 -10
  592. package/dist/client/llm-providers/components/Chat.d.ts +0 -10
  593. package/dist/client/llm-providers/components/ModelSelect.d.ts +0 -10
  594. package/dist/client/llm-providers/dashscope/ModelSettings.d.ts +0 -10
  595. package/dist/client/llm-providers/dashscope/ProviderSettings.d.ts +0 -10
  596. package/dist/client/llm-providers/dashscope/index.d.ts +0 -10
  597. package/dist/client/llm-providers/deepseek/ModelSettings.d.ts +0 -10
  598. package/dist/client/llm-providers/deepseek/index.d.ts +0 -10
  599. package/dist/client/llm-providers/google-genai/MessageRenderer.d.ts +0 -13
  600. package/dist/client/llm-providers/google-genai/ModelSettings.d.ts +0 -10
  601. package/dist/client/llm-providers/google-genai/ProviderSettings.d.ts +0 -10
  602. package/dist/client/llm-providers/google-genai/index.d.ts +0 -10
  603. package/dist/client/llm-providers/kimi/ModelSettings.d.ts +0 -10
  604. package/dist/client/llm-providers/kimi/index.d.ts +0 -10
  605. package/dist/client/llm-providers/mimo/ModelSettings.d.ts +0 -10
  606. package/dist/client/llm-providers/mimo/index.d.ts +0 -10
  607. package/dist/client/llm-providers/mistral/ModelSettings.d.ts +0 -10
  608. package/dist/client/llm-providers/mistral/index.d.ts +0 -10
  609. package/dist/client/llm-providers/ollama/ModelSettings.d.ts +0 -10
  610. package/dist/client/llm-providers/ollama/ProviderSettings.d.ts +0 -10
  611. package/dist/client/llm-providers/ollama/index.d.ts +0 -10
  612. package/dist/client/llm-providers/openai/completions/ModelSettings.d.ts +0 -10
  613. package/dist/client/llm-providers/openai/completions/index.d.ts +0 -10
  614. package/dist/client/llm-providers/openai/components/ProviderSettings.d.ts +0 -10
  615. package/dist/client/llm-providers/openai/responses/ModelSettings.d.ts +0 -10
  616. package/dist/client/llm-providers/openai/responses/index.d.ts +0 -10
  617. package/dist/client/llm-providers/tongyi/ModelSettings.d.ts +0 -10
  618. package/dist/client/llm-providers/tongyi/ProviderSettings.d.ts +0 -10
  619. package/dist/client/llm-providers/tongyi/index.d.ts +0 -10
  620. package/dist/client/llm-providers/xai/ModelSettings.d.ts +0 -10
  621. package/dist/client/llm-providers/xai/index.d.ts +0 -10
  622. package/dist/client/llm-services/LLMServices.d.ts +0 -13
  623. package/dist/client/llm-services/component/DefaultModelSelect.d.ts +0 -10
  624. package/dist/client/llm-services/component/EnabledModelsSelect.d.ts +0 -23
  625. package/dist/client/llm-services/component/LLMTestFlight.d.ts +0 -10
  626. package/dist/client/llm-services/component/ModelOptionsSettings.d.ts +0 -10
  627. package/dist/client/llm-services/component/UnifiedModelSettings.d.ts +0 -10
  628. package/dist/client/llm-services/hooks/useLLMServiceCatalog.d.ts +0 -18
  629. package/dist/client/llm-services/llm-providers.d.ts +0 -27
  630. package/dist/client/llm-services/utils.d.ts +0 -35
  631. package/dist/client/manager/ai-feature-manager.d.ts +0 -9
  632. package/dist/client/manager/ai-manager.d.ts +0 -35
  633. package/dist/client/repositories/AIConfigRepository.d.ts +0 -60
  634. package/dist/client/repositories/hooks/useAIConfigRepository.d.ts +0 -10
  635. package/dist/client/schemas/llms.d.ts +0 -347
  636. package/dist/client/workflow/nodes/employee/components/AIEmployeeSelect.d.ts +0 -10
  637. package/dist/client/workflow/nodes/employee/components/assigness.d.ts +0 -11
  638. package/dist/client/workflow/nodes/employee/components/file-inputs.d.ts +0 -10
  639. package/dist/client/workflow/nodes/employee/components/message-inputs.d.ts +0 -12
  640. package/dist/client/workflow/nodes/employee/components/model-options.d.ts +0 -10
  641. package/dist/client/workflow/nodes/employee/components/structured-output.d.ts +0 -10
  642. package/dist/client/workflow/nodes/employee/components/users-select.d.ts +0 -15
  643. package/dist/client/workflow/nodes/employee/components/web-search-options.d.ts +0 -10
  644. package/dist/client/workflow/nodes/employee/configuration.d.ts +0 -12
  645. package/dist/client/workflow/nodes/employee/flow-models/feedback.d.ts +0 -14
  646. package/dist/client/workflow/nodes/llm/ModelSettings.d.ts +0 -11
  647. package/dist/client/workflow/triggers/ai-employee/Parameters.d.ts +0 -13
  648. package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
  649. package/dist/server/llm-providers/deepseek.d.ts +0 -39
  650. /package/dist/{client → client-v2}/ai-employees/AISelection.d.ts +0 -0
  651. /package/dist/{client → client-v2}/ai-employees/AISelectionControl.d.ts +0 -0
  652. /package/dist/{client → client-v2}/ai-employees/ai-coding/prompts.d.ts +0 -0
  653. /package/dist/{client → client-v2}/ai-employees/ai-coding/setup.d.ts +0 -0
  654. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatButton.d.ts +0 -0
  655. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/SearchSwitch.d.ts +0 -0
  656. /package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolModal.d.ts +0 -0
  657. /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/UserPrompt.d.ts +0 -0
  658. /package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useLoadMoreObserver.d.ts +0 -0
  659. /package/dist/client-v2/ai-employees/{chatbox/stores → stores}/global-store.d.ts +0 -0
  660. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/AIEmployeeShortcutListModel.d.ts +0 -0
  661. /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/index.d.ts +0 -0
  662. /package/dist/{client/ai-employees/flow/events/ai-context-selection.d.ts → client-v2/workflow/components/index.d.ts} +0 -0
@@ -0,0 +1,59 @@
1
+ ---
2
+ pkg: "@nocobase/plugin-data-source-manager"
3
+ title: "Main data source - MariaDB"
4
+ description: "Learn the supported version, plugin installation, usage, and field mapping for MariaDB as the NocoBase main database."
5
+ keywords: "main data source,MariaDB,main database,field mapping,NocoBase"
6
+ ---
7
+
8
+ # MariaDB
9
+
10
+ ## Introduction
11
+
12
+ MariaDB can be used as the NocoBase main database. It stores NocoBase system-table data and business data in the main data source. Configure it when deploying NocoBase; it cannot be deleted after the application is running.
13
+
14
+ | Setting | Description |
15
+ | --- | --- |
16
+ | Supported version | >= 10.9. |
17
+ | Commercial editions | Community, Standard, Professional, and Enterprise. |
18
+ | Database type | MariaDB. |
19
+
20
+ MariaDB is similar to MySQL and is suitable as the main database for regular business systems.
21
+
22
+ ## Plugin installation
23
+
24
+ MariaDB is built in and does not require a separate plugin.
25
+
26
+ ## Usage
27
+
28
+ 1. Select or enter MariaDB connection settings when deploying NocoBase.
29
+ 2. After NocoBase starts, open **Data source management**, select **Main**, and manage collections and fields in the main database.
30
+ 3. To connect tables that already exist in the database, use **Sync from database** on the main-database management page.
31
+ 4. When configuring fields, use [Collections](../data-modeling/collection.md) and [Collection fields](../data-modeling/collection-fields/index.md) to choose Field types and Field interfaces.
32
+
33
+ ## Field type mapping
34
+
35
+ When you create a field in NocoBase, NocoBase creates the corresponding MariaDB column. When you synchronize an existing table, NocoBase maps the MariaDB column type to a suitable Field type and Field interface. You can adjust the display interface in field configuration.
36
+
37
+ | MariaDB type | NocoBase Field type | Available Field interfaces |
38
+ | --- | --- | --- |
39
+ | `TINYINT`, `SMALLINT`, `MEDIUMINT` | `integer`, `boolean`, `sort` | Integer, Sort, Checkbox, Switch, Select, Radio group. |
40
+ | `INT`, `INTEGER` | `integer`, `unixTimestamp`, `sort` | Integer, Sort, Unix timestamp, Select, Radio group. |
41
+ | `BIGINT` | `bigInt`, `snowflakeId`, `unixTimestamp`, `sort` | Integer, Sort, Unix timestamp, Created at, Updated at. |
42
+ | `FLOAT`, `DOUBLE` | `float` | Number, Percent. |
43
+ | `DECIMAL` | `decimal` | Number, Percent, Currency. |
44
+ | `CHAR`, `VARCHAR` | `string`, `uuid`, `nanoid`, `encryption` | Input, Email, Phone, Password, Color, Icon, Select, Radio group, UUID, Nano ID. |
45
+ | `TINYTEXT`, `TEXT`, `MEDIUMTEXT`, `LONGTEXT` | `text` | Textarea, Markdown, Vditor, Rich text, URL. |
46
+ | `DATE` | `dateOnly` | Date. |
47
+ | `TIME` | `time` | Time. |
48
+ | `DATETIME` | `datetimeNoTz`, `datetimeTz`, `date` | Date, Time, Created at, Updated at. |
49
+ | `TIMESTAMP` | `datetimeTz`, `date` | Date, Time, Created at, Updated at. |
50
+ | `YEAR` | `string`, `integer` | Input, Integer, Date. |
51
+ | `JSON` | `json`, `array` | JSON. |
52
+
53
+ :::warning Note
54
+
55
+ Unsupported MariaDB types are shown separately in field configuration. They require development support before they can be used as normal NocoBase fields.
56
+
57
+ :::
58
+
59
+ For common configuration, see [Main database](./index.md).
@@ -0,0 +1,59 @@
1
+ ---
2
+ pkg: "@nocobase/plugin-data-source-manager"
3
+ title: "Main data source - MySQL"
4
+ description: "Learn the supported version, plugin installation, usage, and field mapping for MySQL as the NocoBase main database."
5
+ keywords: "main data source,MySQL,main database,field mapping,NocoBase"
6
+ ---
7
+
8
+ # MySQL
9
+
10
+ ## Introduction
11
+
12
+ MySQL can be used as the NocoBase main database. It stores NocoBase system-table data and business data in the main data source. Configure it when deploying NocoBase; it cannot be deleted after the application is running.
13
+
14
+ | Setting | Description |
15
+ | --- | --- |
16
+ | Supported version | >= 8.0.17. |
17
+ | Commercial editions | Community, Standard, Professional, and Enterprise. |
18
+ | Database type | MySQL. |
19
+
20
+ MySQL is suitable as the main database for regular business systems.
21
+
22
+ ## Plugin installation
23
+
24
+ MySQL is built in and does not require a separate plugin.
25
+
26
+ ## Usage
27
+
28
+ 1. Select or enter MySQL connection settings when deploying NocoBase.
29
+ 2. After NocoBase starts, open **Data source management**, select **Main**, and manage collections and fields in the main database.
30
+ 3. To connect tables that already exist in the database, use **Sync from database** on the main-database management page.
31
+ 4. When configuring fields, use [Collections](../data-modeling/collection.md) and [Collection fields](../data-modeling/collection-fields/index.md) to choose Field types and Field interfaces.
32
+
33
+ ## Field type mapping
34
+
35
+ When you create a field in NocoBase, NocoBase creates the corresponding MySQL column. When you synchronize an existing table, NocoBase maps the MySQL column type to a suitable Field type and Field interface. You can adjust the display interface in field configuration.
36
+
37
+ | MySQL type | NocoBase Field type | Available Field interfaces |
38
+ | --- | --- | --- |
39
+ | `TINYINT`, `SMALLINT`, `MEDIUMINT` | `integer`, `boolean`, `sort` | Integer, Sort, Checkbox, Switch, Select, Radio group. |
40
+ | `INT`, `INTEGER` | `integer`, `unixTimestamp`, `sort` | Integer, Sort, Unix timestamp, Select, Radio group. |
41
+ | `BIGINT` | `bigInt`, `snowflakeId`, `unixTimestamp`, `sort` | Integer, Sort, Unix timestamp, Created at, Updated at. |
42
+ | `FLOAT`, `DOUBLE` | `float` | Number, Percent. |
43
+ | `DECIMAL` | `decimal` | Number, Percent, Currency. |
44
+ | `CHAR`, `VARCHAR` | `string`, `uuid`, `nanoid`, `encryption` | Input, Email, Phone, Password, Color, Icon, Select, Radio group, UUID, Nano ID. |
45
+ | `TINYTEXT`, `TEXT`, `MEDIUMTEXT`, `LONGTEXT` | `text` | Textarea, Markdown, Vditor, Rich text, URL. |
46
+ | `DATE` | `dateOnly` | Date. |
47
+ | `TIME` | `time` | Time. |
48
+ | `DATETIME` | `datetimeNoTz`, `datetimeTz`, `date` | Date, Time, Created at, Updated at. |
49
+ | `TIMESTAMP` | `datetimeTz`, `date` | Date, Time, Created at, Updated at. |
50
+ | `YEAR` | `string`, `integer` | Input, Integer, Date. |
51
+ | `JSON` | `json`, `array` | JSON. |
52
+
53
+ :::warning Note
54
+
55
+ Unsupported MySQL types are shown separately in field configuration. They require development support before they can be used as normal NocoBase fields.
56
+
57
+ :::
58
+
59
+ For common configuration, see [Main database](./index.md).
@@ -0,0 +1,62 @@
1
+ ---
2
+ pkg: "@nocobase/plugin-data-source-oceanbase"
3
+ title: "Main data source - OceanBase"
4
+ description: "Learn the supported version, plugin installation, usage, and field mapping for OceanBase as the NocoBase main database."
5
+ keywords: "main data source,OceanBase,main database,field mapping,NocoBase"
6
+ ---
7
+
8
+ # OceanBase
9
+
10
+ ## Introduction
11
+
12
+ OceanBase can be used as the NocoBase main database. It stores NocoBase system-table data and business data in the main data source. Configure it when deploying NocoBase; it cannot be deleted after the application is running.
13
+
14
+ | Setting | Description |
15
+ | --- | --- |
16
+ | Supported version | >= 4.3. |
17
+ | Commercial editions | Enterprise. |
18
+ | Database type | MySQL compatibility mode. |
19
+
20
+ :::warning Note
21
+
22
+ OceanBase is supported as the main database only in MySQL compatibility mode.
23
+
24
+ :::
25
+
26
+ ## Plugin installation
27
+
28
+ OceanBase is provided by `@nocobase/plugin-data-source-oceanbase` and requires a commercial license.
29
+
30
+ ## Usage
31
+
32
+ 1. Select or enter OceanBase connection settings when deploying NocoBase.
33
+ 2. After NocoBase starts, open **Data source management**, select **Main**, and manage collections and fields in the main database.
34
+ 3. To connect tables that already exist in the database, use **Sync from database** on the main-database management page.
35
+ 4. When configuring fields, use [Collections](../data-modeling/collection.md) and [Collection fields](../data-modeling/collection-fields/index.md) to choose Field types and Field interfaces.
36
+
37
+ ## Field type mapping
38
+
39
+ When you create a field in NocoBase, NocoBase creates the corresponding OceanBase column. When you synchronize an existing table, NocoBase uses MySQL-compatible mapping to select a suitable Field type and Field interface. You can adjust the display interface in field configuration.
40
+
41
+ | OceanBase type | NocoBase Field type | Available Field interfaces |
42
+ | --- | --- | --- |
43
+ | `TINYINT`, `SMALLINT`, `MEDIUMINT` | `integer`, `boolean`, `sort` | Integer, Sort, Checkbox, Switch, Select, Radio group. |
44
+ | `INT`, `INTEGER` | `integer`, `unixTimestamp`, `sort` | Integer, Sort, Unix timestamp, Select, Radio group. |
45
+ | `BIGINT` | `bigInt`, `snowflakeId`, `unixTimestamp`, `sort` | Integer, Sort, Unix timestamp, Created at, Updated at. |
46
+ | `FLOAT`, `DOUBLE` | `float` | Number, Percent. |
47
+ | `DECIMAL` | `decimal` | Number, Percent, Currency. |
48
+ | `CHAR`, `VARCHAR` | `string`, `uuid`, `nanoid`, `encryption` | Input, Email, Phone, Password, Color, Icon, Select, Radio group, UUID, Nano ID. |
49
+ | `TEXT` | `text` | Textarea, Markdown, Vditor, Rich text, URL. |
50
+ | `DATE` | `dateOnly` | Date. |
51
+ | `TIME` | `time` | Time. |
52
+ | `DATETIME` | `datetimeNoTz`, `datetimeTz`, `date` | Date, Time, Created at, Updated at. |
53
+ | `TIMESTAMP` | `datetimeTz`, `date` | Date, Time, Created at, Updated at. |
54
+ | `JSON` | `json`, `array` | JSON. |
55
+
56
+ :::warning Note
57
+
58
+ Unsupported OceanBase types are shown separately in field configuration. They require development support before they can be used as normal NocoBase fields.
59
+
60
+ :::
61
+
62
+ For common configuration, see [Main database](./index.md).
@@ -0,0 +1,61 @@
1
+ ---
2
+ pkg: "@nocobase/plugin-data-source-manager"
3
+ title: "Main data source - PostgreSQL"
4
+ description: "Learn the supported version, plugin installation, usage, and field mapping for PostgreSQL as the NocoBase main database."
5
+ keywords: "main data source,PostgreSQL,main database,field mapping,NocoBase"
6
+ ---
7
+
8
+ # PostgreSQL
9
+
10
+ ## Introduction
11
+
12
+ PostgreSQL can be used as the NocoBase main database. It stores NocoBase system-table data and business data in the main data source. Configure the main database when deploying NocoBase; it cannot be deleted after the application is running.
13
+
14
+ | Setting | Description |
15
+ | --- | --- |
16
+ | Supported version | >= 10. |
17
+ | Commercial editions | Community, Standard, Professional, and Enterprise. |
18
+ | Database type | PostgreSQL. |
19
+
20
+ PostgreSQL supports inheritance collections, which are suitable for data models that need inheritance.
21
+
22
+ ## Plugin installation
23
+
24
+ PostgreSQL is built in and does not require a separate plugin.
25
+
26
+ ## Usage
27
+
28
+ 1. Select or enter PostgreSQL connection settings when deploying NocoBase.
29
+ 2. After NocoBase starts, open **Data source management**, select **Main**, and manage collections and fields in the main database.
30
+ 3. To connect tables that already exist in the database, use **Sync from database** on the main-database management page.
31
+ 4. When configuring fields, use [Collections](../data-modeling/collection.md) and [Collection fields](../data-modeling/collection-fields/index.md) to choose Field types and Field interfaces.
32
+
33
+ ## Field type mapping
34
+
35
+ When you create a field in NocoBase, NocoBase creates the corresponding PostgreSQL column. When you synchronize an existing table, NocoBase maps the PostgreSQL column type to a suitable Field type and Field interface. You can adjust the display interface in field configuration.
36
+
37
+ | PostgreSQL type | NocoBase Field type | Available Field interfaces |
38
+ | --- | --- | --- |
39
+ | `BOOLEAN` | `boolean` | Checkbox, Switch. |
40
+ | `SMALLINT`, `INTEGER`, `SERIAL`, `SMALLSERIAL` | `integer`, `boolean`, `sort` | Integer, Sort, Checkbox, Switch, Select, Radio group. |
41
+ | `BIGINT`, `BIGSERIAL` | `bigInt`, `sort` | Integer, Sort, Checkbox, Switch, Select, Radio group, Unix timestamp, Created at, Updated at. |
42
+ | `REAL` | `float` | Number, Percent. |
43
+ | `DOUBLE PRECISION` | `double` | Number, Percent. |
44
+ | `DECIMAL`, `NUMERIC` | `decimal` | Number, Percent, Currency. |
45
+ | `VARCHAR`, `CHAR` | `string`, `password`, `uuid`, `nanoid` | Input, Email, Phone, Password, Color, Icon, Select, Radio group, UUID, Nano ID. |
46
+ | `TEXT` | `text`, `json` | Textarea, Markdown, Vditor, Rich text, URL, JSON. |
47
+ | `UUID` | `uuid` | UUID. |
48
+ | `JSON`, `JSONB` | `json` | JSON. |
49
+ | `TIMESTAMP` | `date` | Date, Time, Created at, Updated at. |
50
+ | `DATE` | `dateOnly` | Date. |
51
+ | `TIME` | `time` | Time. |
52
+ | `POINT`, `LINESTRING`, `POLYGON`, `CIRCLE` | `point`, `lineString`, `polygon`, `circle` | Point, Line string, Polygon, Circle, JSON. |
53
+ | `ARRAY` | `array` | Multiple select, Checkbox group. |
54
+
55
+ :::warning Note
56
+
57
+ Unsupported PostgreSQL types are shown separately in field configuration. They require development support before they can be used as normal NocoBase fields.
58
+
59
+ :::
60
+
61
+ For common configuration, see [Main database](./index.md).
@@ -8,12 +8,53 @@ For file types that do not support native preview, you can enable preview functi
8
8
 
9
9
  Currently, NocoBase provides the following file preview plugins:
10
10
 
11
- * [Office File Preview Plugin](../file-preview/ms-office.md)
11
+ - [Office File Preview Plugin](./ms-office.md)
12
12
 
13
- ## PDF preview with external storage
13
+ ## PDF preview mechanism
14
14
 
15
- NocoBase previews PDFs through a browser iframe. Some browsers or PDF readers may support scripts, forms, or other interactive content inside PDF files. If the previewed file comes from an untrusted source, pay attention to the security boundary for script execution.
15
+ NocoBase selects the PDF preview method according to whether the file URL has the same origin as the current page:
16
+
17
+ | File URL | Common storage type | Preview method | CORS requirement |
18
+ | --- | --- | --- | --- |
19
+ | Same origin as NocoBase | Local storage | NocoBase reads the file and renders it with the built-in PDF.js viewer | No cross-origin CORS involved |
20
+ | Cross-origin | Third-party storage such as OSS, S3, COS, or a CDN | The browser opens the file URL in an iframe | The iframe preview itself does not require CORS |
21
+
22
+ :::tip What determines the preview method
23
+
24
+ The preview method depends on whether the file URL is same-origin, not directly on the storage engine name. Local storage served from a separate file domain is treated as cross-origin. Third-party storage accessed through a same-origin NocoBase proxy is treated as same-origin.
25
+
26
+ :::
27
+
28
+ ### Local storage or a same-origin URL
29
+
30
+ Local storage URLs usually start with `/storage/uploads/` and have the same origin as the NocoBase page. During preview, NocoBase reads the PDF data and passes it to the built-in PDF.js viewer to render pages and text.
31
+
32
+ This method does not depend on the browser's built-in PDF reader. Even if the file response uses `Content-Disposition: attachment` for security, NocoBase can still read and render the file in the preview component. The file URL must remain accessible with the current login state.
33
+
34
+ ### Third-party storage or a cross-origin URL
35
+
36
+ Third-party storage such as OSS, S3, COS, and CDNs usually uses a separate domain. NocoBase places this PDF URL in an iframe, so the browser and the storage service's response headers determine the result.
37
+
38
+ To open a PDF in the iframe, the storage service should normally return `Content-Type: application/pdf` and must not force a download with `Content-Disposition: attachment`. If the response requests a download, the browser downloads the file directly and NocoBase cannot override that behavior in the frontend.
39
+
40
+ Loading a cross-origin PDF in an iframe does not itself require CORS. However, the download button in the preview component reads the file with `fetch` and creates a Blob, so cross-origin downloads still require the storage service to allow CORS requests from the NocoBase site.
41
+
42
+ ### Notes for Aliyun OSS
43
+
44
+ In some cases, the default Aliyun OSS domain forces a download by returning `Content-Disposition: attachment` and `x-oss-force-download: true`. Images may still preview normally, while a PDF placed in an iframe is downloaded.
45
+
46
+ You can usually resolve this by binding a custom domain to the bucket and configuring NocoBase to access files through that domain. See [Aliyun OSS troubleshooting](../storage/aliyun-oss.md#common-issues) for configuration and diagnostic steps.
47
+
48
+ ### Security boundary for cross-origin previews
49
+
50
+ Some browsers or PDF readers may support scripts, forms, or other interactive content inside PDF files. If the previewed file comes from an untrusted source, pay attention to the security boundary for script execution.
16
51
 
17
52
  We recommend isolating the file access domain from the NocoBase site and API domains. For example, serve files from OSS, S3, COS, or a CDN through a dedicated domain, instead of sharing the same origin with the NocoBase frontend or API.
18
53
 
19
54
  If the file domain is different from the API domain, and the API does not enable CORS access for the file domain, scripts running in the PDF preview environment are usually restricted by the browser's same-origin policy. They cannot directly read the NocoBase page, browser storage, or API responses.
55
+
56
+ ## Related links
57
+
58
+ - [Office File Preview Plugin](./ms-office.md)
59
+ - [Aliyun OSS](../storage/aliyun-oss.md)
60
+ - [S3 Pro](../storage/s3-pro.md)
@@ -0,0 +1,87 @@
1
+ ---
2
+ pkg: '@nocobase/plugin-file-manager'
3
+ title: "Stable URL (proxy URL)"
4
+ description: "Explains NocoBase stable file URLs, access permissions, redirects, temporary Office preview URLs, and behavior across file-related features."
5
+ keywords: "stable URL,proxy URL,permanent URL,file access,file permissions,Office preview,NocoBase"
6
+ ---
7
+
8
+ # Stable URL
9
+
10
+ Files managed by a NocoBase storage engine are accessed through a **stable URL**. The URL first reaches NocoBase, where the file record and access permissions are checked, and then redirects to the actual URL generated by the storage engine.
11
+
12
+ ## URL format
13
+
14
+ ```text
15
+ /files/<app>/<dataSource>/<collection>/<id><extname>
16
+ ```
17
+
18
+ For example:
19
+
20
+ ```text
21
+ /files/main/main/attachments/42.pdf
22
+ ```
23
+
24
+ When `APP_PUBLIC_PATH=/nocobase` is configured, the URL starts with `/nocobase/files/`. The path identifies the app, data source, file collection, record ID, and extension. The ID and extension cannot be changed after creation, which keeps the URL stable for the lifetime of the record.
25
+
26
+ ## URL variants
27
+
28
+ | Purpose | URL | Behavior |
29
+ |---|---|---|
30
+ | Open or embed | `/files/.../42.pdf` | Checks permission and redirects to the actual file URL |
31
+ | Preview | `/files/.../42.png?preview=1` | Redirects to the preview or thumbnail URL |
32
+ | Download | `/files/.../42.pdf?download=1` | Redirects with download semantics |
33
+ | Office preview | `/files/.../42.xlsx?temporaryAccessToken=...` | Allows Microsoft Office Online Viewer to fetch one file for a short time |
34
+
35
+ :::tip
36
+
37
+ Use the `url` and `preview` values returned by NocoBase. Application code normally should not construct `/files` URLs or their query parameters.
38
+
39
+ :::
40
+
41
+ ## Behavior across NocoBase
42
+
43
+ - Attachment fields and file collections return stable URLs after upload and when records are queried
44
+ - [HTTP API](./http-api.md) responses no longer expose local paths, storage domains, or presigned download URLs
45
+ - Markdown uploads store the stable URL, including files in private S3, OSS, COS, or S3 Pro storage
46
+ - Attachment URL fields store a stable URL for managed uploads, while manually entered external URLs remain unchanged
47
+ - Image, PDF, audio, video, and text previews use the stable URL and the current NocoBase login session
48
+ - Public forms grant limited access to files uploaded in the current public-form browser session; this does not create a generally public link
49
+
50
+ ## Office preview
51
+
52
+ Microsoft Office Online Viewer fetches the file from Microsoft servers and cannot use the user's NocoBase cookie. When the user opens an Office preview, NocoBase first checks the user's file permission and then issues a temporary URL for that file.
53
+
54
+ The URL is valid for 10 minutes by default. `TEMPORARY_FILE_ACCESS_EXPIRES_IN` may be set from 5 to 10 minutes. It is requested again when the preview is reopened and must never be saved in an attachment field, Markdown content, or a business record.
55
+
56
+ ## Permissions and redirects
57
+
58
+ Logged-in requests use the current app credentials and role. After permission is granted, NocoBase responds with `302` and redirects to the local or object-storage URL.
59
+
60
+ Stable URLs support `GET` and `HEAD`. Other methods return `405`. A command-line client must follow redirects, for example:
61
+
62
+ ```bash
63
+ curl -L \
64
+ -H "Authorization: Bearer <JWT>" \
65
+ "https://example.com/files/main/main/attachments/42.pdf"
66
+ ```
67
+
68
+ ## Important notes
69
+
70
+ - Stable does not mean public; recipients still need permission to view the file
71
+ - Deleting the record or changing its app, data source, or collection context invalidates the old URL
72
+ - Do not persist `temporaryAccessToken` or use it as a sharing link
73
+ - Do not cache the `302 Location` as a permanent URL because storage signatures can expire
74
+ - Do not rewrite the app, data source, collection, ID, or extension in the path
75
+ - Reverse proxies must forward the `/files/` route under `APP_PUBLIC_PATH` to NocoBase. For subpath deployments, keep a compatible root-level `/files/` route as well. Configurations generated by the NocoBase CLI include both routes automatically
76
+ - Deployments where the pages access the API cross-origin (with `API_BASE_URL` pointing to another origin) must add the page origin to `CORS_ORIGIN_WHITELIST`; otherwise the login cookie is never stored and stable URLs return `403` for lack of credentials. See [Environment Variables](../get-started/installation/env.md#api_base_url)
77
+ - Use a different `hostname` for each independent NocoBase service instead of separating services only by port. Browser cookies are not isolated by port; see [Production Environment Deployment](../get-started/deployment/production.md)
78
+ - Sub-apps in the same NocoBase deployment are distinguished by app name and do not need separate hostnames. However, an independent service on another port still needs hostname isolation if it contains a main app or sub-app with the same name
79
+ - Custom `fetch()` code may also need object-storage CORS after following the redirect
80
+ - Use a dedicated sharing or public-access feature when a long-lived public link is required
81
+
82
+ ## Related links
83
+
84
+ - [HTTP API](./http-api.md) — Upload and query files through the API
85
+ - [File preview](./file-preview/index.md) — Preview behavior for supported file types
86
+ - [Office file preview](./file-preview/ms-office.md) — Configure Microsoft Office Online Viewer
87
+ - [Storage engines](./storage/index.md) — Configure local and object storage
@@ -7,7 +7,7 @@ A storage engine based on Aliyun OSS. Before use, you need to prepare the releva
7
7
 
8
8
  This engine does not support private access. After a file is uploaded, NocoBase generates a directly accessible URL, and anyone who has that URL can access the file.
9
9
 
10
- Even if the OSS bucket itself is private, the built-in Aliyun OSS engine does not generate temporary signed URLs for file access. If you need private access, use [S3 Pro](./s3-pro). If historical files already exist, see [Migrate to S3 Pro](./migrate-to-s3-pro.md).
10
+ Even if the OSS bucket itself is private, the built-in Aliyun OSS engine does not generate temporary signed URLs for file access. If you need private access, use [S3 Pro](./s3-pro.md). If historical files already exist, see [Migrate to S3 Pro](./migrate-to-s3-pro.md).
11
11
 
12
12
  :::
13
13
 
@@ -18,9 +18,13 @@ Even if the OSS bucket itself is private, the built-in Aliyun OSS engine does no
18
18
 
19
19
 
20
20
  :::info{title=Note}
21
- This section only introduces the specific parameters for the Aliyun OSS storage engine. For general parameters, please refer to [General Engine Parameters](./index#引擎通用参数).
21
+ This section only introduces the specific parameters for the Aliyun OSS storage engine. For general parameters, see [General Engine Parameters](./index.md#common-parameters).
22
22
  :::
23
23
 
24
+ ### Base URL
25
+
26
+ Enter the file access URL prefix, such as a custom domain bound to the current bucket: `https://oss.example.com`. Accessing PDFs through the default Aliyun OSS domain may cause the browser to download them. We recommend binding a custom domain first. See [Common issues](#common-issues) below for details.
27
+
24
28
  ### Region
25
29
 
26
30
  Enter the region of the OSS storage, for example: `oss-cn-hangzhou`.
@@ -43,4 +47,97 @@ Enter the name of the OSS bucket.
43
47
 
44
48
  ### Timeout
45
49
 
46
- Enter the timeout for uploading to Aliyun OSS, in milliseconds. The default is `60000` milliseconds (i.e., 60 seconds).
50
+ Enter the timeout for uploading to Aliyun OSS, in milliseconds. The default is `60000` milliseconds (i.e., 60 seconds).
51
+
52
+ ## Common issues
53
+
54
+ ### A PDF is downloaded instead of previewed
55
+
56
+ NocoBase previews cross-origin PDFs in an iframe. The browser accesses the OSS file URL directly, so the OSS response headers determine whether the file is displayed or downloaded.
57
+
58
+ If a PDF is downloaded from the iframe, inspect the file request in the browser developer tools. A typical problematic response looks like this:
59
+
60
+ ```http
61
+ Content-Type: application/pdf
62
+ Content-Disposition: attachment
63
+ x-oss-force-download: true
64
+ ```
65
+
66
+ `Content-Type: application/pdf` identifies the file correctly, but `Content-Disposition: attachment` instructs the browser to download it. The default Aliyun OSS domain forces downloads in some cases. See the official Aliyun documentation: [How do I configure a PDF file to be previewed instead of downloaded?](https://help.aliyun.com/zh/oss/user-guide/how-do-i-configure-an-object-to-be-previewed-instead-of-downloaded).
67
+
68
+ We recommend the following configuration:
69
+
70
+ 1. Follow [Access OSS resources through a custom domain](https://help.aliyun.com/zh/oss/user-guide/access-buckets-via-custom-domain-names) to bind a custom domain to the bucket
71
+ 2. Configure DNS and the HTTPS certificate, then verify that the custom domain can access the file directly
72
+ 3. Configure the access URL for the NocoBase storage engine in use
73
+
74
+ For step 3:
75
+
76
+ - With the built-in **Aliyun OSS** engine, set **Base URL** to the bound custom domain, such as `https://oss.example.com`
77
+ - With [S3 Pro](./s3-pro.md) connected to Aliyun OSS, the upload endpoint can continue to use the regional OSS endpoint; set the access endpoint to the custom domain and set `Full access URL style` to `Ignore`
78
+
79
+ Upload a new PDF to verify the configuration. If an existing file record stores a complete URL, also make sure that the URL returned to the frontend now uses the custom domain.
80
+
81
+ :::tip Check the response headers
82
+
83
+ Previewing a cross-origin PDF in an iframe does not itself require CORS. Whether the PDF can be displayed inline primarily depends on `Content-Type` and `Content-Disposition`. This is separate from the CORS requirement for the download button described below.
84
+
85
+ :::
86
+
87
+ ### An image previews correctly, but the download button reports a CORS error
88
+
89
+ Images are usually previewed with `<img>`, and cross-origin PDFs are previewed with an iframe. Both can display resources without CORS response headers. The download button, however, reads the file with `fetch` and creates a Blob for the browser to download. This request is subject to the browser's same-origin policy.
90
+
91
+ The following console error means that OSS did not return `Access-Control-Allow-Origin` for the current NocoBase site:
92
+
93
+ ```text
94
+ Access to fetch at 'https://oss.example.com/path/to/file.jpg' from origin
95
+ 'https://example.com' has been blocked by CORS policy:
96
+ No 'Access-Control-Allow-Origin' header is present on the requested resource.
97
+ ```
98
+
99
+ Follow the official Aliyun guide [Configure cross-origin resource sharing](https://help.aliyun.com/zh/oss/user-guide/configure-cross-origin-resource-sharing) and create a CORS rule for the bucket. For downloads from the preview component, use values like these:
100
+
101
+ | Setting | Recommended value |
102
+ | --- | --- |
103
+ | Allowed Origins | The complete NocoBase origin, such as `https://example.com` |
104
+ | Allowed Methods | `GET`, `HEAD` |
105
+ | Allowed Headers | `*` |
106
+ | Expose Headers | `ETag`, `Content-Disposition` |
107
+ | MaxAgeSeconds | `600` |
108
+
109
+ If S3 Pro also uploads files directly from the browser, add methods such as `PUT` and `POST` according to the actual upload requests shown in the browser Network panel, or create a separate upload rule.
110
+
111
+ After saving the rule, request the file again with the NocoBase site origin. The response should include at least:
112
+
113
+ ```http
114
+ Access-Control-Allow-Origin: https://example.com
115
+ Access-Control-Allow-Methods: GET, HEAD
116
+ ```
117
+
118
+ The browser may already have cached the response used for the image preview. That request did not include an `Origin` header, and the cached response may not contain `Access-Control-Allow-Origin`. If downloading still fails after you configure CORS, clear the browser cache for the file or select **Disable cache** in the developer tools and try again.
119
+
120
+ ### Verify the response headers
121
+
122
+ Use `curl` to simulate a cross-origin request from the NocoBase site. Replace the example origin, file URL, and signature parameters with the actual values:
123
+
124
+ ```bash
125
+ curl -sS -D - -o /dev/null \
126
+ -H 'Origin: https://example.com' \
127
+ 'https://oss.example.com/path/to/file.pdf?<signed-query>'
128
+ ```
129
+
130
+ Check the following results:
131
+
132
+ - PDF preview returns `Content-Type: application/pdf` without `Content-Disposition: attachment`
133
+ - Cross-origin download returns an `Access-Control-Allow-Origin` matching the NocoBase site
134
+ - The actual file URL uses the custom domain instead of the default `*.oss-cn-*.aliyuncs.com` domain
135
+
136
+ It is normal for a request without an `Origin` header to omit CORS response headers. Keep the `Origin` header in the example when verifying CORS.
137
+
138
+ ## Related links
139
+
140
+ - [File Preview](../file-preview/index.md)
141
+ - [S3 Pro](./s3-pro.md)
142
+ - [Migrate to S3 Pro](./migrate-to-s3-pro.md)
143
+ - [Storage Engines](./index.md)
@@ -17,30 +17,6 @@ Currently, NocoBase has built-in support for the following engine types:
17
17
  - [S3 Pro](./s3-pro)
18
18
 
19
19
  The system automatically adds a local storage engine during installation, which can be used directly. You can also add new engines or edit the parameters of existing ones.
20
-
21
-
22
- If you are already using a storage engine that only supports public access and want to migrate historical files to S3 Pro, see [Migrate to S3 Pro](./migrate-to-s3-pro.md).
23
-
24
- ## File Accessibility
25
-
26
- Different storage engines support different file access controls. Before configuring a storage engine, confirm whether your files need private access:
27
-
28
- | Storage engine | File accessibility |
29
- | --- | --- |
30
- | [Local Storage](./local) | Only public access is supported; private access is not supported |
31
- | [Amazon S3](./amazon-s3) | Only public access is supported; private access is not supported |
32
- | [Aliyun OSS](./aliyun-oss) | Only public access is supported; private access is not supported |
33
- | [Tencent COS](./tencent-cos) | Only public access is supported; private access is not supported |
34
- | [S3 Pro](./s3-pro) | Private access is supported through temporary signed URLs |
35
-
36
- :::warning Note
37
-
38
- Local Storage, Amazon S3, Aliyun OSS, and Tencent COS do not perform login authentication for file access and do not generate temporary signed URLs. After a file is uploaded, anyone who has the file access URL can access it directly.
39
-
40
- If you need to store contracts, identity documents, internal materials, or other files that should not be public, use [S3 Pro](./s3-pro) and enable private access.
41
-
42
- :::
43
-
44
20
  ## Common Parameters
45
21
 
46
22
  In addition to the specific parameters for different engine types, the following are common parameters (using local storage as an example):
@@ -82,11 +58,75 @@ When checked, this is set as the system's default storage engine. When an attach
82
58
  When checked, the uploaded file in the storage engine will be kept even when the data record in the attachment or file collection is deleted. By default, this is not checked, meaning the file in the storage engine will be deleted along with the record.
83
59
 
84
60
  :::info{title=Tip}
85
- After a file is uploaded, the final access path is constructed by concatenating several parts:
61
+ When Original URL is selected, the final storage address is constructed from several parts:
86
62
 
87
63
  ```
88
64
  <Public URL prefix>/<Path>/<Filename><Extension>
89
65
  ```
90
66
 
91
67
  For example: `https://cdn.nocobase.com/app/user/avatar/20240529115151.png`.
92
- :::
68
+
69
+ When NocoBase URL is selected, the file record returns a NocoBase path in the `/files/...` format. The configuration above is still used when accessing the storage service.
70
+ :::
71
+
72
+ ## File URLs and access control
73
+
74
+ A storage engine can return either a NocoBase URL or the storage service's original URL. NocoBase URL is the default. Select Original URL only when an external service must use the storage address directly.
75
+
76
+ This configuration applies per storage engine. After it is saved, both existing files and newly uploaded files under that engine return URLs in the selected form. Files are not moved or uploaded again.
77
+
78
+ ![File URL configuration](https://static-docs.nocobase.com/20260723221234.png)
79
+
80
+ ### NocoBase URL
81
+
82
+ The file record returns an access path provided by NocoBase, for example:
83
+
84
+ ```text
85
+ /files/main/main/attachments/1.png
86
+ ```
87
+
88
+ Requests to this URL first pass through NocoBase and follow the view permissions configured for the corresponding file record. NocoBase reads the file or redirects to the address generated by the storage service only after the permission check succeeds.
89
+
90
+ This is the recommended default. The file record returns a NocoBase path, so callers do not need to know whether local or cloud storage is being used.
91
+
92
+ ### Original URL
93
+
94
+ The file record directly returns the address generated by the storage service, for example:
95
+
96
+ ```text
97
+ https://storage.example.com/path/to/file.png
98
+ ```
99
+
100
+ This URL does not pass through NocoBase and does not check the file record's view permissions. For local storage, it is a local static file address. For cloud storage, it is usually an object storage or CDN address.
101
+
102
+ Select Original URL only when Markdown, an external page, or a third-party service must use the storage address directly.
103
+
104
+ :::warning Note
105
+
106
+ After Original URL is selected, anyone with a valid URL can bypass NocoBase permission checks and access the file. If the URL has no signature or expiration, make sure the bucket and file allow public read access.
107
+
108
+ :::
109
+
110
+ ### Allow public access
111
+
112
+ Allow public access only takes effect when NocoBase URL is selected. When checked, the storage engine still returns a NocoBase URL, but NocoBase no longer checks the file record's permissions when the URL is accessed. Anyone with the URL can access the file.
113
+
114
+ This option does not change the storage service's own public-read configuration. It only controls whether NocoBase checks file record permissions.
115
+
116
+ ### How to choose
117
+
118
+ | Use case | File URL | Allow public access |
119
+ | --- | --- | --- |
120
+ | Files must follow role and data permissions | NocoBase URL | Unchecked |
121
+ | A publicly shareable NocoBase file address is required | NocoBase URL | Checked |
122
+ | Markdown, an external page, or a third-party service must read the storage address directly | Original URL | Not applicable |
123
+
124
+ :::warning Note
125
+
126
+ [Local Storage](./local), [Amazon S3](./amazon-s3), [Aliyun OSS](./aliyun-oss), and [Tencent COS](./tencent-cos) do not generate temporary signed URLs. Even when NocoBase URL and file record permissions are enabled, anyone who has already obtained the storage service's original address can still access the file directly.
127
+
128
+ For contracts, identity documents, internal materials, or other files that should not be public, use [S3 Pro](./s3-pro) and refer to its dedicated access-control configuration.
129
+
130
+ :::
131
+
132
+ If you are already using a public storage engine and want to migrate existing files to S3 Pro, see [Migrate to S3 Pro](./migrate-to-s3-pro.md).
@@ -9,6 +9,8 @@ Local Storage does not support private access. After a file is uploaded, NocoBas
9
9
 
10
10
  If you need to store contracts, identity documents, internal materials, or other files that should not be public, use [S3 Pro](./s3-pro). If historical files already exist, see [Migrate to S3 Pro](./migrate-to-s3-pro.md).
11
11
 
12
+ If you are not using Docker or the official nginx configuration and access local uploaded files through a custom proxy, make sure the `/storage/uploads/` path sets `X-Content-Type-Options: nosniff` and returns active content files such as `html`, `svg`, `xhtml`, and `pdf` as attachments. For details, see [Security guide: File storage](../../security/guide.md#file-storage).
13
+
12
14
  :::
13
15
 
14
16
  ## Configuration Parameters
@@ -26,4 +28,4 @@ This section only introduces parameters specific to the local storage engine. Fo
26
28
  Represents both the relative path for file storage on the server and the URL access path. For example, "`user/avatar`" (without leading or trailing slashes) represents:
27
29
 
28
30
  1. The relative path on the server where uploaded files are stored: `/path/to/nocobase-app/storage/uploads/user/avatar`.
29
- 2. The URL prefix for accessing the files: `http://localhost:13000/storage/uploads/user/avatar`.
31
+ 2. The URL prefix for accessing the files: `http://localhost:13000/storage/uploads/user/avatar`.