@nocobase/plugin-ai 2.1.0-beta.14 → 2.1.0-beta.16

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 (313) hide show
  1. package/dist/ai/ai-employees/atlas/index.d.ts +10 -0
  2. package/dist/{server/ai-employees/built-in/ai-coding/prompt.js → ai/ai-employees/atlas/index.js} +29 -20
  3. package/dist/ai/ai-employees/atlas/prompt.md +84 -0
  4. package/dist/ai/ai-employees/dara.d.ts +10 -0
  5. package/dist/{server/ai-employees/built-in/data-visualization/prompt.js → ai/ai-employees/dara.js} +21 -13
  6. package/dist/ai/ai-employees/dex.d.ts +10 -0
  7. package/dist/{server/ai-employees/built-in/data-organizer/prompt.js → ai/ai-employees/dex.js} +15 -7
  8. package/dist/ai/ai-employees/ellis.d.ts +10 -0
  9. package/dist/{server/ai-employees/built-in/email-assistant/prompt.js → ai/ai-employees/ellis.js} +19 -11
  10. package/dist/ai/ai-employees/lexi.d.ts +10 -0
  11. package/dist/{server/ai-employees/built-in/translator/prompt.js → ai/ai-employees/lexi.js} +15 -7
  12. package/dist/ai/ai-employees/vera.d.ts +10 -0
  13. package/dist/{server/ai-employees/built-in/research-analyst/prompt.js → ai/ai-employees/vera.js} +16 -8
  14. package/dist/ai/ai-employees/viz.d.ts +10 -0
  15. package/dist/{server/ai-employees/built-in/insights-analyst/prompt.js → ai/ai-employees/viz.js} +15 -7
  16. package/dist/ai/skills/business-analysis-report/SKILLS.md +88 -0
  17. package/dist/{server/ai-employees/built-in/ai-coding/prompt.d.ts → ai/skills/business-analysis-report/tools/businessReportGenerator.d.ts} +1 -3
  18. package/dist/ai/skills/business-analysis-report/tools/businessReportGenerator.js +98 -0
  19. package/dist/ai/skills/document-search/SKILLS.md +69 -0
  20. package/dist/ai/tools/chartGenerator.js +15 -3
  21. package/dist/ai/tools/formFiller.js +13 -2
  22. package/dist/{server/ai-employees/built-in/data-modeling/prompt.d.ts → ai/tools/getSkill.d.ts} +1 -3
  23. package/dist/{server/ai-employees/built-in/data-modeling/index.js → ai/tools/getSkill.js} +39 -32
  24. package/dist/{server/ai-employees/built-in/data-organizer/prompt.d.ts → ai/tools/knowledge-base-retrieve.d.ts} +1 -3
  25. package/dist/ai/tools/knowledge-base-retrieve.js +94 -0
  26. package/dist/{server/ai-employees/built-in/data-visualization/prompt.d.ts → ai/tools/sub-agents/dispatch-sub-agent-task.d.ts} +1 -3
  27. package/dist/ai/tools/sub-agents/dispatch-sub-agent-task.js +108 -0
  28. package/dist/ai/tools/sub-agents/get-ai-employee.d.ts +10 -0
  29. package/dist/{server/ai-employees/built-in/translator/profile.js → ai/tools/sub-agents/get-ai-employee.js} +28 -21
  30. package/dist/ai/tools/sub-agents/list-ai-employees.d.ts +10 -0
  31. package/dist/{server/ai-employees/built-in/email-assistant/profile.js → ai/tools/sub-agents/list-ai-employees.js} +25 -21
  32. package/dist/ai/tools/sub-agents/shared.d.ts +33 -0
  33. package/dist/ai/tools/sub-agents/shared.js +169 -0
  34. package/dist/ai/tools/suggestions.js +15 -4
  35. package/dist/client/170.d98eacdc00d9d527.js +10 -0
  36. package/dist/client/228.b18148eb1009d2fb.js +10 -0
  37. package/dist/client/280.029428b83d62155f.js +10 -0
  38. package/dist/client/290.0888139e33c9b7cb.js +10 -0
  39. package/dist/client/{524.954f96ec4fc2fd7a.js → 331.d547c95410476a69.js} +1 -1
  40. package/dist/client/343.83f7d96664e4e038.js +10 -0
  41. package/dist/client/406.15c09d98faa2ccf1.js +10 -0
  42. package/dist/client/428.e9f38da3b0d8b498.js +10 -0
  43. package/dist/client/486.77c26e2e7f8daf28.js +10 -0
  44. package/dist/client/502.2b4a51e0a8122e52.js +10 -0
  45. package/dist/client/525.33a9c8ec28be4ec4.js +10 -0
  46. package/dist/client/559.133d286a0a0a1d93.js +10 -0
  47. package/dist/client/{91.90e7098b7fbd5d00.js → 561.776886c5308e3c26.js} +1 -1
  48. package/dist/client/580.e75f97fb883ad042.js +10 -0
  49. package/dist/client/597.aa363881a325b5c0.js +10 -0
  50. package/dist/client/604.de96f3ec4d471afd.js +10 -0
  51. package/dist/client/614.aa766080f6b99aab.js +10 -0
  52. package/dist/client/646.ef9d7c2ea8641044.js +10 -0
  53. package/dist/client/687.224e569a99cae4bb.js +10 -0
  54. package/dist/client/699.57c0a1acb723202a.js +10 -0
  55. package/dist/client/711.266b8f1c520d467a.js +10 -0
  56. package/dist/client/758.a9741e81911e53c3.js +10 -0
  57. package/dist/client/768.973ce32e15099a48.js +10 -0
  58. package/dist/client/792.ae8ad1fcae9fd974.js +10 -0
  59. package/dist/client/820.6a26239ea96c075a.js +10 -0
  60. package/dist/client/832.0cf69e3f43c320b2.js +10 -0
  61. package/dist/client/927.ff5cd05b14901ae6.js +10 -0
  62. package/dist/client/ai-employees/admin/SkillSettings.d.ts +7 -5
  63. package/dist/client/ai-employees/admin/ToolsSettings.d.ts +17 -0
  64. package/dist/client/ai-employees/admin/mcp/MCPSettings.d.ts +10 -0
  65. package/dist/client/ai-employees/admin/mcp/MCPToolsList.d.ts +19 -0
  66. package/dist/client/ai-employees/admin/mcp/context.d.ts +15 -0
  67. package/dist/client/ai-employees/admin/mcp/schemas.d.ts +1286 -0
  68. package/dist/client/ai-employees/built-in/utils.d.ts +1 -0
  69. package/dist/client/ai-employees/business-report/tools/index.d.ts +10 -0
  70. package/dist/client/ai-employees/business-report/ui/BusinessReportCard.d.ts +12 -0
  71. package/dist/client/ai-employees/business-report/ui/BusinessReportModal.d.ts +17 -0
  72. package/dist/client/ai-employees/business-report/ui/report-utils.d.ts +38 -0
  73. package/dist/client/ai-employees/chatbox/AIEmployeeSwitch.d.ts +3 -2
  74. package/dist/client/ai-employees/chatbox/HintMessageHeader.d.ts +10 -0
  75. package/dist/client/ai-employees/chatbox/ModelSwitcher.d.ts +3 -1
  76. package/dist/client/ai-employees/chatbox/SearchSwitch.d.ts +3 -1
  77. package/dist/client/ai-employees/chatbox/Upload.d.ts +3 -1
  78. package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +27 -0
  79. package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +31 -0
  80. package/dist/client/ai-employees/chatbox/conversations/common.d.ts +43 -0
  81. package/dist/{server/document-loader/loader.worker.d.ts → client/ai-employees/chatbox/conversations/index.d.ts} +1 -1
  82. package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +5 -3
  83. package/dist/client/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +24 -0
  84. package/dist/client/ai-employees/chatbox/markdown/ECharts.d.ts +1 -2
  85. package/dist/client/ai-employees/chatbox/markdown/Markdown.d.ts +1 -1
  86. package/dist/client/ai-employees/chatbox/roles.d.ts +1 -0
  87. package/dist/client/ai-employees/chatbox/stores/chat-box.d.ts +8 -0
  88. package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +4 -0
  89. package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +8 -0
  90. package/dist/client/ai-employees/chatbox/stores/workflow-tasks.d.ts +41 -0
  91. package/dist/client/ai-employees/chatbox/utils.d.ts +17 -7
  92. package/dist/client/ai-employees/sub-agents/tools/index.d.ts +10 -0
  93. package/dist/client/ai-employees/sub-agents/ui/SubAgentDispatchCard.d.ts +21 -0
  94. package/dist/client/ai-employees/types.d.ts +24 -4
  95. package/dist/{server/ai-employees/built-in/ai-coding/document/example/js-filter → client/ai-employees/workflow-tasks/tools}/index.d.ts +2 -7
  96. package/dist/client/ai-employees/workflow-tasks/ui/WorkflowTaskOutputCard.d.ts +11 -0
  97. package/dist/client/components/ListCollapse.d.ts +28 -0
  98. package/dist/client/index.js +7 -7
  99. package/dist/client/manager/ai-manager.d.ts +4 -23
  100. package/dist/client/repositories/AIConfigRepository.d.ts +11 -3
  101. package/dist/client/workflow/nodes/employee/components/AIEmployeeSelect.d.ts +10 -0
  102. package/dist/client/workflow/nodes/employee/components/assigness.d.ts +11 -0
  103. package/dist/client/workflow/nodes/employee/components/file-inputs.d.ts +10 -0
  104. package/dist/client/workflow/nodes/employee/components/message-inputs.d.ts +12 -0
  105. package/dist/client/workflow/nodes/employee/components/model-options.d.ts +10 -0
  106. package/dist/client/workflow/nodes/employee/components/skill-settings.d.ts +10 -0
  107. package/dist/client/workflow/nodes/employee/components/structured-output.d.ts +10 -0
  108. package/dist/client/workflow/nodes/employee/components/users-select.d.ts +15 -0
  109. package/dist/client/workflow/nodes/employee/components/web-search-options.d.ts +10 -0
  110. package/dist/client/workflow/nodes/employee/configuration.d.ts +12 -0
  111. package/dist/client/workflow/nodes/employee/flow-models/feedback.d.ts +13 -0
  112. package/dist/client/workflow/nodes/employee/flow-models/task.d.ts +13 -0
  113. package/dist/client/workflow/nodes/employee/index.d.ts +7 -31
  114. package/dist/collections/ai-employees.js +2 -1
  115. package/dist/collections/ai-mcp-clients.d.ts +51 -0
  116. package/dist/collections/ai-mcp-clients.js +111 -0
  117. package/dist/externalVersion.js +17 -16
  118. package/dist/locale/en-US.json +136 -8
  119. package/dist/locale/zh-CN.json +138 -9
  120. package/dist/node_modules/fast-glob/out/index.js +8 -8
  121. package/dist/node_modules/fast-glob/package.json +1 -1
  122. package/dist/node_modules/flexsearch/dist/flexsearch.bundle.min.js +2 -2
  123. package/dist/node_modules/flexsearch/package.json +1 -1
  124. package/dist/node_modules/fs-extra/lib/index.js +1 -1
  125. package/dist/node_modules/fs-extra/package.json +1 -1
  126. package/dist/node_modules/nodejs-snowflake/nodejs_snowflake.js +1 -1
  127. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  128. package/dist/node_modules/openai/index.js +1 -1
  129. package/dist/node_modules/openai/package.json +1 -1
  130. package/dist/node_modules/zod/index.cjs +1 -1
  131. package/dist/node_modules/zod/package.json +1 -1
  132. package/dist/server/ai-employees/ai-conversations.d.ts +70 -0
  133. package/dist/server/ai-employees/ai-conversations.js +325 -0
  134. package/dist/server/ai-employees/ai-employee.d.ts +100 -19
  135. package/dist/server/ai-employees/ai-employee.js +484 -261
  136. package/dist/server/ai-employees/ai-knowledge-base.d.ts +28 -0
  137. package/dist/server/ai-employees/ai-knowledge-base.js +167 -0
  138. package/dist/server/ai-employees/middleware/conversation.d.ts +2 -0
  139. package/dist/server/ai-employees/middleware/conversation.js +38 -5
  140. package/dist/server/ai-employees/middleware/index.d.ts +2 -0
  141. package/dist/server/ai-employees/middleware/index.js +5 -1
  142. package/dist/server/ai-employees/middleware/skill-tools.d.ts +12 -0
  143. package/dist/server/ai-employees/middleware/skill-tools.js +88 -0
  144. package/dist/server/ai-employees/middleware/tools.js +37 -10
  145. package/dist/server/ai-employees/middleware/workflow-history.d.ts +22 -0
  146. package/dist/server/ai-employees/middleware/workflow-history.js +173 -0
  147. package/dist/server/ai-employees/prompts.d.ts +16 -1
  148. package/dist/server/ai-employees/prompts.js +37 -1
  149. package/dist/server/ai-employees/sub-agents/dispatcher.d.ts +36 -0
  150. package/dist/server/ai-employees/sub-agents/dispatcher.js +225 -0
  151. package/dist/server/ai-employees/sub-agents/index.d.ts +9 -0
  152. package/dist/server/{migrations/20250923221107-setup-build-in.js → ai-employees/sub-agents/index.js} +9 -13
  153. package/dist/server/ai-employees/templates/form-assistant.d.ts +2 -2
  154. package/dist/server/ai-employees/templates/form-assistant.js +2 -2
  155. package/dist/server/ai-employees/utils.js +2 -2
  156. package/dist/server/collections/ai-conversations.js +18 -0
  157. package/dist/server/{ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_contacts_en.d.ts → collections/ai-mcp-clients.d.ts} +1 -4
  158. package/dist/server/{ai-employees/built-in/nocobase-assistant/index.js → collections/ai-mcp-clients.js} +12 -13
  159. package/dist/server/{ai-employees/built-in/ai-coding/document/basic/flow-resource.d.ts → collections/ai-skills.d.ts} +1 -4
  160. package/dist/server/collections/ai-skills.js +73 -0
  161. package/dist/server/{ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_opportunities_en.d.ts → collections/ai-workflow-tasks.d.ts} +1 -4
  162. package/dist/server/collections/ai-workflow-tasks.js +112 -0
  163. package/dist/server/{ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_accounts_en.d.ts → collections/users-ai-workflow-tasks.d.ts} +1 -4
  164. package/dist/server/collections/users-ai-workflow-tasks.js +44 -0
  165. package/dist/server/document-loader/constants.d.ts +1 -2
  166. package/dist/server/document-loader/constants.js +6 -1
  167. package/dist/server/document-loader/loader.d.ts +0 -1
  168. package/dist/server/document-loader/loader.js +2 -55
  169. package/dist/server/document-loader/types.d.ts +0 -1
  170. package/dist/server/llm-providers/anthropic.d.ts +1 -0
  171. package/dist/server/llm-providers/anthropic.js +2 -1
  172. package/dist/server/llm-providers/dashscope.d.ts +1 -0
  173. package/dist/server/llm-providers/deepseek.d.ts +1 -0
  174. package/dist/server/llm-providers/google-genai.d.ts +1 -0
  175. package/dist/server/llm-providers/google-genai.js +2 -1
  176. package/dist/server/llm-providers/kimi/provider.d.ts +1 -0
  177. package/dist/server/llm-providers/openai/responses.d.ts +1 -0
  178. package/dist/server/llm-providers/openai/responses.js +2 -1
  179. package/dist/server/llm-providers/provider.d.ts +1 -10
  180. package/dist/server/llm-providers/provider.js +4 -35
  181. package/dist/server/manager/ai-coding-manager.d.ts +1 -2
  182. package/dist/server/manager/ai-coding-manager.js +0 -41
  183. package/dist/server/manager/ai-context-datasource-manager.js +30 -1
  184. package/dist/server/manager/built-in-manager.d.ts +2 -4
  185. package/dist/server/manager/built-in-manager.js +8 -118
  186. package/dist/server/migrations/20260306000001-migrate-skill-settings-tools.js +68 -0
  187. package/dist/server/migrations/20260319000000-add-ai-conversations-from.d.ts +14 -0
  188. package/dist/server/migrations/20260319000000-add-ai-conversations-from.js +63 -0
  189. package/dist/server/migrations/20260424000000-remove-cole-ai-employee.d.ts +14 -0
  190. package/dist/server/{ai-employees/built-in/email-assistant/index.js → migrations/20260424000000-remove-cole-ai-employee.js} +20 -22
  191. package/dist/server/plugin.d.ts +6 -1
  192. package/dist/server/plugin.js +31 -8
  193. package/dist/server/resource/aiConversations.js +112 -188
  194. package/dist/server/resource/aiEmployees.js +5 -7
  195. package/dist/server/resource/aiMcpClients.d.ts +11 -0
  196. package/dist/server/resource/aiMcpClients.js +78 -0
  197. package/dist/server/{ai-employees/built-in/ai-coding/document/example/js-column/index.d.ts → resource/aiSkills.d.ts} +3 -7
  198. package/dist/server/resource/aiSkills.js +71 -0
  199. package/dist/server/resource/aiTools.js +4 -6
  200. package/dist/server/resource/aiWorkflowTasks.d.ts +12 -0
  201. package/dist/server/resource/aiWorkflowTasks.js +290 -0
  202. package/dist/server/tools/docs.js +4 -3
  203. package/dist/server/tools/workflow-caller.js +1 -0
  204. package/dist/server/types/ai-chat-conversation.type.d.ts +8 -2
  205. package/dist/server/types/ai-message.type.d.ts +7 -0
  206. package/dist/server/utils.d.ts +3 -0
  207. package/dist/server/utils.js +28 -3
  208. package/dist/server/workflow/nodes/employee/files.d.ts +16 -0
  209. package/dist/server/workflow/nodes/employee/files.js +125 -0
  210. package/dist/server/workflow/nodes/employee/handler.d.ts +11 -0
  211. package/dist/server/workflow/nodes/employee/handler.js +107 -0
  212. package/dist/server/workflow/nodes/employee/index.d.ts +17 -0
  213. package/dist/server/workflow/nodes/employee/index.js +391 -0
  214. package/dist/server/workflow/nodes/employee/tools.d.ts +12 -0
  215. package/dist/server/workflow/nodes/employee/tools.js +133 -0
  216. package/dist/server/workflow/nodes/employee/types.d.ts +35 -0
  217. package/dist/server/workflow/nodes/employee/types.js +24 -0
  218. package/dist/server/workflow/utils.d.ts +14 -0
  219. package/dist/server/workflow/utils.js +111 -0
  220. package/package.json +4 -2
  221. package/dist/client/107.64d9efa24d6b9143.js +0 -10
  222. package/dist/client/124.768c8aa5d6e6b461.js +0 -10
  223. package/dist/client/159.d52107c7a34ce2da.js +0 -10
  224. package/dist/client/192.0419770b69678994.js +0 -10
  225. package/dist/client/204.91be8cfc54d91a59.js +0 -10
  226. package/dist/client/238.9f784a7cdb751999.js +0 -10
  227. package/dist/client/263.6e1dfb1cbb1964f5.js +0 -10
  228. package/dist/client/35.5ee7503d9c09daa8.js +0 -10
  229. package/dist/client/47.6bd245f2140efd24.js +0 -10
  230. package/dist/client/481.03b3d2306d409933.js +0 -10
  231. package/dist/client/586.6a1510cabaa84f23.js +0 -10
  232. package/dist/client/650.8871a07b31c307ea.js +0 -10
  233. package/dist/client/755.e295bbd2b2a1cc21.js +0 -10
  234. package/dist/client/772.d51f683c55e18dd4.js +0 -10
  235. package/dist/client/870.84187dcb8c89b4dc.js +0 -10
  236. package/dist/client/933.baab3aa75f30e020.js +0 -10
  237. package/dist/client/987.3aee964e7f406939.js +0 -10
  238. package/dist/server/ai-employees/built-in/ai-coding/document/basic/flow-resource.js +0 -256
  239. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/index.js +0 -48
  240. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_accounts_en.js +0 -452
  241. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_contacts_en.js +0 -363
  242. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_opportunities_en.js +0 -270
  243. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_quotations_en.d.ts +0 -13
  244. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_quotations_en.js +0 -219
  245. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_tickets_en.d.ts +0 -13
  246. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_tickets_en.js +0 -409
  247. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/accounts_filter_ant_style.d.ts +0 -13
  248. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/accounts_filter_ant_style.js +0 -324
  249. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/contacts_filter_ant_style.d.ts +0 -13
  250. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/contacts_filter_ant_style.js +0 -309
  251. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/index.js +0 -50
  252. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/leads_filter_ant_style.d.ts +0 -13
  253. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/leads_filter_ant_style.js +0 -345
  254. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/opportunities_filter_ant_style.d.ts +0 -13
  255. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/opportunities_filter_ant_style.js +0 -381
  256. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/product_categories_ant_style.d.ts +0 -13
  257. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/product_categories_ant_style.js +0 -545
  258. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/tickets_filter_ant_style.d.ts +0 -13
  259. package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/tickets_filter_ant_style.js +0 -346
  260. package/dist/server/ai-employees/built-in/ai-coding/document/js-action.d.ts +0 -13
  261. package/dist/server/ai-employees/built-in/ai-coding/document/js-action.js +0 -102
  262. package/dist/server/ai-employees/built-in/ai-coding/document/js-block.d.ts +0 -13
  263. package/dist/server/ai-employees/built-in/ai-coding/document/js-block.js +0 -314
  264. package/dist/server/ai-employees/built-in/ai-coding/document/js-column.d.ts +0 -13
  265. package/dist/server/ai-employees/built-in/ai-coding/document/js-column.js +0 -113
  266. package/dist/server/ai-employees/built-in/ai-coding/document/js-field.d.ts +0 -13
  267. package/dist/server/ai-employees/built-in/ai-coding/document/js-field.js +0 -498
  268. package/dist/server/ai-employees/built-in/ai-coding/document/js-item.d.ts +0 -13
  269. package/dist/server/ai-employees/built-in/ai-coding/document/js-item.js +0 -184
  270. package/dist/server/ai-employees/built-in/ai-coding/index.d.ts +0 -37
  271. package/dist/server/ai-employees/built-in/ai-coding/index.js +0 -99
  272. package/dist/server/ai-employees/built-in/ai-coding/profile.d.ts +0 -27
  273. package/dist/server/ai-employees/built-in/ai-coding/profile.js +0 -60
  274. package/dist/server/ai-employees/built-in/ai-coding/prompt_en.md +0 -110
  275. package/dist/server/ai-employees/built-in/data-modeling/index.d.ts +0 -37
  276. package/dist/server/ai-employees/built-in/data-modeling/profile.d.ts +0 -27
  277. package/dist/server/ai-employees/built-in/data-modeling/profile.js +0 -60
  278. package/dist/server/ai-employees/built-in/data-modeling/prompt.js +0 -283
  279. package/dist/server/ai-employees/built-in/data-organizer/index.d.ts +0 -37
  280. package/dist/server/ai-employees/built-in/data-organizer/index.js +0 -63
  281. package/dist/server/ai-employees/built-in/data-organizer/profile.d.ts +0 -27
  282. package/dist/server/ai-employees/built-in/data-organizer/profile.js +0 -60
  283. package/dist/server/ai-employees/built-in/data-visualization/index.d.ts +0 -37
  284. package/dist/server/ai-employees/built-in/data-visualization/index.js +0 -58
  285. package/dist/server/ai-employees/built-in/data-visualization/profile.d.ts +0 -27
  286. package/dist/server/ai-employees/built-in/data-visualization/profile.js +0 -60
  287. package/dist/server/ai-employees/built-in/email-assistant/index.d.ts +0 -34
  288. package/dist/server/ai-employees/built-in/email-assistant/profile.d.ts +0 -27
  289. package/dist/server/ai-employees/built-in/email-assistant/prompt.d.ts +0 -12
  290. package/dist/server/ai-employees/built-in/insights-analyst/index.d.ts +0 -37
  291. package/dist/server/ai-employees/built-in/insights-analyst/index.js +0 -63
  292. package/dist/server/ai-employees/built-in/insights-analyst/profile.d.ts +0 -27
  293. package/dist/server/ai-employees/built-in/insights-analyst/profile.js +0 -60
  294. package/dist/server/ai-employees/built-in/insights-analyst/prompt.d.ts +0 -12
  295. package/dist/server/ai-employees/built-in/nocobase-assistant/index.d.ts +0 -34
  296. package/dist/server/ai-employees/built-in/nocobase-assistant/profile.d.ts +0 -27
  297. package/dist/server/ai-employees/built-in/nocobase-assistant/profile.js +0 -60
  298. package/dist/server/ai-employees/built-in/nocobase-assistant/prompt.d.ts +0 -12
  299. package/dist/server/ai-employees/built-in/nocobase-assistant/prompt.js +0 -52
  300. package/dist/server/ai-employees/built-in/research-analyst/index.d.ts +0 -37
  301. package/dist/server/ai-employees/built-in/research-analyst/index.js +0 -63
  302. package/dist/server/ai-employees/built-in/research-analyst/profile.d.ts +0 -27
  303. package/dist/server/ai-employees/built-in/research-analyst/profile.js +0 -60
  304. package/dist/server/ai-employees/built-in/research-analyst/prompt.d.ts +0 -12
  305. package/dist/server/ai-employees/built-in/translator/index.d.ts +0 -37
  306. package/dist/server/ai-employees/built-in/translator/index.js +0 -67
  307. package/dist/server/ai-employees/built-in/translator/profile.d.ts +0 -27
  308. package/dist/server/ai-employees/built-in/translator/prompt.d.ts +0 -12
  309. package/dist/server/document-loader/loader.worker.js +0 -68
  310. package/dist/server/document-loader/vendor/langchain/document_loaders/fs/text.d.ts +0 -20
  311. package/dist/server/document-loader/vendor/langchain/document_loaders/fs/text.js +0 -96
  312. /package/dist/client/ai-employees/chatbox/{Conversations.d.ts → conversations/Conversations.d.ts} +0 -0
  313. /package/dist/server/migrations/{20250923221107-setup-build-in.d.ts → 20260306000001-migrate-skill-settings-tools.d.ts} +0 -0
@@ -7,11 +7,9 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- var __create = Object.create;
11
10
  var __defProp = Object.defineProperty;
12
11
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
12
  var __getOwnPropNames = Object.getOwnPropertyNames;
14
- var __getProtoOf = Object.getPrototypeOf;
15
13
  var __hasOwnProp = Object.prototype.hasOwnProperty;
16
14
  var __export = (target, all) => {
17
15
  for (var name in all)
@@ -25,28 +23,12 @@ var __copyProps = (to, from, except, desc) => {
25
23
  }
26
24
  return to;
27
25
  };
28
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
- // If the importer is in node compatibility mode or this is not an ESM
30
- // file that has been converted to a CommonJS file using a Babel-
31
- // compatible transform (i.e. "__esModule" has not been set), then set
32
- // "default" to the CommonJS "module.exports" for node compatibility.
33
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
- mod
35
- ));
36
26
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
27
  var ai_coding_manager_exports = {};
38
28
  __export(ai_coding_manager_exports, {
39
29
  AICodingManager: () => AICodingManager
40
30
  });
41
31
  module.exports = __toCommonJS(ai_coding_manager_exports);
42
- var import_flow_resource = __toESM(require("../ai-employees/built-in/ai-coding/document/basic/flow-resource"));
43
- var import_js_block = __toESM(require("../ai-employees/built-in/ai-coding/document/js-block"));
44
- var import_js_field = __toESM(require("../ai-employees/built-in/ai-coding/document/js-field"));
45
- var import_js_column = __toESM(require("../ai-employees/built-in/ai-coding/document/js-column"));
46
- var import_js_item = __toESM(require("../ai-employees/built-in/ai-coding/document/js-item"));
47
- var import_js_action = __toESM(require("../ai-employees/built-in/ai-coding/document/js-action"));
48
- var import_js_column2 = __toESM(require("../ai-employees/built-in/ai-coding/document/example/js-column"));
49
- var import_js_filter = __toESM(require("../ai-employees/built-in/ai-coding/document/example/js-filter"));
50
32
  class AICodingManager {
51
33
  constructor(plugin) {
52
34
  this.plugin = plugin;
@@ -57,29 +39,6 @@ class AICodingManager {
57
39
  return String.raw`The following is the code of the "${scene}" component\n\n\`\`\`${language}\n${code}\n\`\`\``;
58
40
  };
59
41
  }
60
- provideWorkContextBackgroundStrategy() {
61
- return async (_ctx, _aiMessages, workContext) => {
62
- const document = [import_flow_resource.default];
63
- const sceneSet = new Set(workContext.map((item) => item.content).map((content) => content.scene));
64
- if (sceneSet.has("block")) {
65
- document.push(import_js_block.default);
66
- document.push(...import_js_filter.default["en-US"]);
67
- }
68
- if (sceneSet.has("detail")) {
69
- document.push(import_js_field.default);
70
- }
71
- if (sceneSet.has("form")) {
72
- document.push(import_js_item.default);
73
- document.push(import_js_action.default);
74
- }
75
- if (sceneSet.has("table")) {
76
- document.push(import_js_column.default);
77
- document.push(...import_js_column2.default["en-US"]);
78
- document.push(import_js_action.default);
79
- }
80
- return document.map((doc) => String.raw`<document name="${doc.name}">\n${doc.content}\n</document>`).join("\n");
81
- };
82
- }
83
42
  }
84
43
  // Annotate the CommonJS export names for ESM import in node:
85
44
  0 && (module.exports = {
@@ -31,6 +31,35 @@ __export(ai_context_datasource_manager_exports, {
31
31
  module.exports = __toCommonJS(ai_context_datasource_manager_exports);
32
32
  var import_utils = require("@nocobase/utils");
33
33
  var import_acl = require("@nocobase/acl");
34
+ function serializeQueryFieldValue(value) {
35
+ if (value === null || value === void 0) {
36
+ return value;
37
+ }
38
+ if (value instanceof Date) {
39
+ return value.toISOString();
40
+ }
41
+ if (Array.isArray(value)) {
42
+ return value.map((item) => serializeQueryFieldValue(item));
43
+ }
44
+ if (typeof value === "object") {
45
+ if (typeof value.toISOString === "function") {
46
+ try {
47
+ return value.toISOString();
48
+ } catch (error) {
49
+ }
50
+ }
51
+ if (typeof value.toJSON === "function") {
52
+ try {
53
+ const jsonValue = value.toJSON();
54
+ if (jsonValue !== value) {
55
+ return serializeQueryFieldValue(jsonValue);
56
+ }
57
+ } catch (error) {
58
+ }
59
+ }
60
+ }
61
+ return value;
62
+ }
34
63
  class AIContextDatasourceManager {
35
64
  constructor(plugin) {
36
65
  this.plugin = plugin;
@@ -127,7 +156,7 @@ class AIContextDatasourceManager {
127
156
  (x) => fields.map((field) => {
128
157
  var _a2;
129
158
  const { name, type } = ((_a2 = collection.getField(field)) == null ? void 0 : _a2.options) || {};
130
- const value = x[field];
159
+ const value = serializeQueryFieldValue(x[field]);
131
160
  return {
132
161
  name,
133
162
  type,
@@ -8,11 +8,9 @@
8
8
  */
9
9
  import PluginAIServer from '../plugin';
10
10
  import type { AIEmployee } from '../../collections/ai-employees';
11
+ import { Context } from '@nocobase/actions';
11
12
  export declare class BuiltInManager {
12
13
  protected plugin: PluginAIServer;
13
- private builtInEmployees;
14
- private builtInEmployeeMap;
15
14
  constructor(plugin: PluginAIServer);
16
- setupBuiltInInfo(locale: string, aiEmployee: AIEmployee): void;
17
- createOrUpdateAIEmployee(language?: string): Promise<void>;
15
+ setupBuiltInInfo(ctx: Context, aiEmployee: AIEmployee): void;
18
16
  }
@@ -39,133 +39,23 @@ __export(built_in_manager_exports, {
39
39
  BuiltInManager: () => BuiltInManager
40
40
  });
41
41
  module.exports = __toCommonJS(built_in_manager_exports);
42
- var import_data_modeling = __toESM(require("../ai-employees/built-in/data-modeling"));
43
- var import_ai_coding = __toESM(require("../ai-employees/built-in/ai-coding"));
44
- var import_data_organizer = __toESM(require("../ai-employees/built-in/data-organizer"));
45
- var import_insights_analyst = __toESM(require("../ai-employees/built-in/insights-analyst"));
46
- var import_research_analyst = __toESM(require("../ai-employees/built-in/research-analyst"));
47
- var import_translator = __toESM(require("../ai-employees/built-in/translator"));
48
- var import_nocobase_assistant = __toESM(require("../ai-employees/built-in/nocobase-assistant"));
49
- var import_email_assistant = __toESM(require("../ai-employees/built-in/email-assistant"));
50
- var import_data_visualization = __toESM(require("../ai-employees/built-in/data-visualization"));
51
- var import_lodash = __toESM(require("lodash"));
52
- const DEFAULT_LANGUAGE = "en-US";
53
- const DEFAULT_KNOWLEDGE_BASE = {
54
- topK: 3,
55
- score: "0.6",
56
- knowledgeBaseIds: []
57
- };
58
- const DEFAULT_KNOWLEDGE_BASE_PROMPT = "From knowledge base:\n{knowledgeBaseData}\nanswer user's question using this information.";
42
+ var import_package = __toESM(require("../../../package.json"));
59
43
  class BuiltInManager {
60
44
  constructor(plugin) {
61
45
  this.plugin = plugin;
62
46
  }
63
- builtInEmployees = [
64
- import_data_modeling.default,
65
- import_ai_coding.default,
66
- import_data_organizer.default,
67
- import_insights_analyst.default,
68
- import_research_analyst.default,
69
- import_translator.default,
70
- import_nocobase_assistant.default,
71
- import_email_assistant.default,
72
- import_data_visualization.default
73
- ];
74
- builtInEmployeeMap = Object.fromEntries(this.builtInEmployees.map((x) => [x.username, x]));
75
- setupBuiltInInfo(locale, aiEmployee) {
76
- var _a;
47
+ setupBuiltInInfo(ctx, aiEmployee) {
48
+ var _a, _b, _c, _d;
77
49
  if (!aiEmployee) {
78
50
  return;
79
51
  }
80
- const builtInEmployeeInfo = this.builtInEmployeeMap[aiEmployee.username];
81
- if (!builtInEmployeeInfo) {
52
+ if (!aiEmployee.builtIn) {
82
53
  return;
83
54
  }
84
- const { profile } = builtInEmployeeInfo;
85
- const { avatar, nickname, position, bio, greeting, about } = profile[locale] ?? profile[DEFAULT_LANGUAGE];
86
- aiEmployee.avatar = avatar;
87
- aiEmployee.nickname = nickname;
88
- aiEmployee.position = position;
89
- aiEmployee.bio = bio;
90
- aiEmployee.greeting = greeting;
91
- aiEmployee.defaultPrompt = about;
92
- const builtInSkills = ((_a = builtInEmployeeInfo.skillSettings) == null ? void 0 : _a.skills) ?? [];
93
- const skillSettings = aiEmployee.skillSettings ?? {};
94
- const skills = skillSettings.skills ?? [];
95
- aiEmployee.skillSettings = {
96
- ...builtInEmployeeInfo.skillSettings ?? {},
97
- skills: import_lodash.default.uniqBy([...skills, ...builtInSkills], "name")
98
- };
99
- }
100
- async createOrUpdateAIEmployee(language = DEFAULT_LANGUAGE) {
101
- var _a;
102
- const aiEmployeesRepo = this.plugin.db.getRepository("aiEmployees");
103
- const employeeUsernames = this.builtInEmployees.map((employee) => employee.username);
104
- const existed = await aiEmployeesRepo.find({
105
- filter: {
106
- username: {
107
- $in: employeeUsernames
108
- }
109
- }
110
- });
111
- const existedUsername = existed.map((x) => x.username);
112
- const setups = this.builtInEmployees.filter((x) => !existedUsername.includes(x.username));
113
- if (setups.length) {
114
- this.plugin.log.info("setup built-in employees");
115
- for (const { username, description, profile, skillSettings } of setups) {
116
- let p = profile[language];
117
- if (!p) {
118
- p = profile[DEFAULT_LANGUAGE];
119
- }
120
- if (!p) {
121
- continue;
122
- }
123
- const { nickname, avatar, position, bio, greeting } = p;
124
- await aiEmployeesRepo.create({
125
- values: {
126
- username,
127
- nickname,
128
- position,
129
- avatar,
130
- bio,
131
- greeting,
132
- about: null,
133
- skillSettings,
134
- enableKnowledgeBase: false,
135
- knowledgeBase: DEFAULT_KNOWLEDGE_BASE,
136
- knowledgeBasePrompt: DEFAULT_KNOWLEDGE_BASE_PROMPT,
137
- enabled: true,
138
- builtIn: true
139
- }
140
- });
141
- this.plugin.log.info(`setup [${username}] ${description}`);
142
- }
143
- }
144
- const updates = this.builtInEmployees.filter((x) => existedUsername.includes(x.username));
145
- if (updates.length) {
146
- this.plugin.log.info("update built-in employees");
147
- const existedMap = new Map(existed.map((it) => [it.username, it.toJSON()]));
148
- for (const { username, description, skillSettings } of updates) {
149
- let { skills } = ((_a = existedMap.get(username)) == null ? void 0 : _a.skillSettings) ?? { skills: [] };
150
- skills = (skills ?? []).filter((s) => {
151
- var _a2;
152
- return (_a2 = s.name) == null ? void 0 : _a2.startsWith("workflowCaller-");
153
- });
154
- const mergedSkills = /* @__PURE__ */ new Set([...skills, ...skillSettings.skills]);
155
- await aiEmployeesRepo.update({
156
- values: {
157
- skillSettings: {
158
- skills: [...mergedSkills]
159
- },
160
- builtIn: true
161
- },
162
- filter: {
163
- username
164
- }
165
- });
166
- this.plugin.log.info(`update [${username}] ${description}`);
167
- }
168
- }
55
+ aiEmployee.nickname = (_a = ctx.t) == null ? void 0 : _a.call(ctx, aiEmployee.nickname, { ns: import_package.default.name });
56
+ aiEmployee.position = (_b = ctx.t) == null ? void 0 : _b.call(ctx, aiEmployee.position, { ns: import_package.default.name });
57
+ aiEmployee.bio = (_c = ctx.t) == null ? void 0 : _c.call(ctx, aiEmployee.bio, { ns: import_package.default.name });
58
+ aiEmployee.greeting = (_d = ctx.t) == null ? void 0 : _d.call(ctx, aiEmployee.greeting, { ns: import_package.default.name });
169
59
  }
170
60
  }
171
61
  // Annotate the CommonJS export names for ESM import in node:
@@ -0,0 +1,68 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var migrate_skill_settings_tools_exports = {};
28
+ __export(migrate_skill_settings_tools_exports, {
29
+ default: () => migrate_skill_settings_tools_default
30
+ });
31
+ module.exports = __toCommonJS(migrate_skill_settings_tools_exports);
32
+ var import_server = require("@nocobase/server");
33
+ class migrate_skill_settings_tools_default extends import_server.Migration {
34
+ on = "afterSync";
35
+ appVersion = "<2.1.0";
36
+ async up() {
37
+ var _a;
38
+ const repo = this.db.getRepository("aiEmployees");
39
+ const rows = await repo.find({});
40
+ let updated = 0;
41
+ for (const row of rows) {
42
+ const skillSettings = ((_a = row.get) == null ? void 0 : _a.call(row, "skillSettings")) ?? row.skillSettings;
43
+ if (!skillSettings || typeof skillSettings !== "object") {
44
+ continue;
45
+ }
46
+ if (Array.isArray(skillSettings.tools) && skillSettings.tools.length > 0) {
47
+ continue;
48
+ }
49
+ const skills = skillSettings.skills;
50
+ let nextTools = null;
51
+ if (Array.isArray(skills)) {
52
+ const hasObject = skills.some((item) => item && typeof item === "object");
53
+ if (hasObject) {
54
+ nextTools = skills;
55
+ }
56
+ }
57
+ const nextSkillSettings = { ...skillSettings, tools: nextTools ?? [] };
58
+ if (Array.isArray(skills)) {
59
+ delete nextSkillSettings.skills;
60
+ }
61
+ await row.update({ skillSettings: nextSkillSettings });
62
+ updated += 1;
63
+ }
64
+ if (updated > 0) {
65
+ this.app.logger.info(`Migrated aiEmployees.skillSettings.skills -> skillSettings.tools (${updated})`);
66
+ }
67
+ }
68
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { Migration } from '@nocobase/server';
10
+ export default class extends Migration {
11
+ on: string;
12
+ appVersion: string;
13
+ up(): Promise<void>;
14
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
+ var __getOwnPropNames = Object.getOwnPropertyNames;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __export = (target, all) => {
15
+ for (var name in all)
16
+ __defProp(target, name, { get: all[name], enumerable: true });
17
+ };
18
+ var __copyProps = (to, from, except, desc) => {
19
+ if (from && typeof from === "object" || typeof from === "function") {
20
+ for (let key of __getOwnPropNames(from))
21
+ if (!__hasOwnProp.call(to, key) && key !== except)
22
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
23
+ }
24
+ return to;
25
+ };
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
+ var add_ai_conversations_from_exports = {};
28
+ __export(add_ai_conversations_from_exports, {
29
+ default: () => add_ai_conversations_from_default
30
+ });
31
+ module.exports = __toCommonJS(add_ai_conversations_from_exports);
32
+ var import_server = require("@nocobase/server");
33
+ class add_ai_conversations_from_default extends import_server.Migration {
34
+ on = "afterLoad";
35
+ appVersion = "<2.1.0";
36
+ async up() {
37
+ var _a;
38
+ const collection = this.db.getCollection("aiConversations");
39
+ if (!collection) {
40
+ return;
41
+ }
42
+ const field = collection.getField("from");
43
+ if (!field) {
44
+ await collection.sync();
45
+ }
46
+ const repo = this.db.getRepository("aiConversations");
47
+ const rows = await repo.find({});
48
+ let updated = 0;
49
+ for (const row of rows) {
50
+ const value = ((_a = row.get) == null ? void 0 : _a.call(row, "from")) ?? row.from;
51
+ if (value) {
52
+ continue;
53
+ }
54
+ await row.update({
55
+ from: "main-agent"
56
+ });
57
+ updated += 1;
58
+ }
59
+ if (updated > 0) {
60
+ this.app.logger.info(`Migrated aiConversations.from to main-agent (${updated})`);
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import { Migration } from '@nocobase/server';
10
+ export default class extends Migration {
11
+ on: string;
12
+ appVersion: string;
13
+ up(): Promise<void>;
14
+ }
@@ -7,11 +7,9 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- var __create = Object.create;
11
10
  var __defProp = Object.defineProperty;
12
11
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
12
  var __getOwnPropNames = Object.getOwnPropertyNames;
14
- var __getProtoOf = Object.getPrototypeOf;
15
13
  var __hasOwnProp = Object.prototype.hasOwnProperty;
16
14
  var __export = (target, all) => {
17
15
  for (var name in all)
@@ -25,26 +23,26 @@ var __copyProps = (to, from, except, desc) => {
25
23
  }
26
24
  return to;
27
25
  };
28
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
- // If the importer is in node compatibility mode or this is not an ESM
30
- // file that has been converted to a CommonJS file using a Babel-
31
- // compatible transform (i.e. "__esModule" has not been set), then set
32
- // "default" to the CommonJS "module.exports" for node compatibility.
33
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
- mod
35
- ));
36
26
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
- var email_assistant_exports = {};
38
- __export(email_assistant_exports, {
39
- default: () => email_assistant_default
27
+ var remove_cole_ai_employee_exports = {};
28
+ __export(remove_cole_ai_employee_exports, {
29
+ default: () => remove_cole_ai_employee_default
40
30
  });
41
- module.exports = __toCommonJS(email_assistant_exports);
42
- var import_profile = __toESM(require("./profile"));
43
- var email_assistant_default = {
44
- username: "ellis",
45
- description: "Email expert",
46
- profile: import_profile.default,
47
- skillSettings: {
48
- skills: []
31
+ module.exports = __toCommonJS(remove_cole_ai_employee_exports);
32
+ var import_server = require("@nocobase/server");
33
+ class remove_cole_ai_employee_default extends import_server.Migration {
34
+ on = "afterSync";
35
+ appVersion = "<2.2.0";
36
+ async up() {
37
+ const repo = this.db.getRepository("aiEmployees");
38
+ if (!repo) {
39
+ return;
40
+ }
41
+ await repo.destroy({
42
+ filter: {
43
+ username: "cole"
44
+ }
45
+ });
46
+ this.app.logger.info('Removed AI employee with username "cole"');
49
47
  }
50
- };
48
+ }
@@ -10,21 +10,27 @@ import { Plugin } from '@nocobase/server';
10
10
  import { AIManager } from './manager/ai-manager';
11
11
  import { AIPluginFeatureManagerImpl } from './manager/ai-feature-manager';
12
12
  import { AIEmployeesManager } from './ai-employees/ai-employees-manager';
13
+ import { AIConversationsManager } from './ai-employees/ai-conversations';
13
14
  import Snowflake from './snowflake';
14
15
  import { BuiltInManager } from './manager/built-in-manager';
15
16
  import { AIContextDatasourceManager } from './manager/ai-context-datasource-manager';
16
17
  import { AICodingManager } from './manager/ai-coding-manager';
17
18
  import { DocumentLoaders } from './document-loader';
18
19
  import type PluginFileManagerServer from '@nocobase/plugin-file-manager';
20
+ import { SubAgentsDispatcher } from './ai-employees/sub-agents';
21
+ import { KnowledgeBaseManager } from './ai-employees/ai-knowledge-base';
19
22
  export declare class PluginAIServer extends Plugin {
20
23
  features: AIPluginFeatureManagerImpl;
21
24
  aiManager: AIManager;
22
25
  aiEmployeesManager: AIEmployeesManager;
26
+ aiConversationsManager: AIConversationsManager;
23
27
  builtInManager: BuiltInManager;
24
28
  aiContextDatasourceManager: AIContextDatasourceManager;
25
29
  aiCodingManager: AICodingManager;
26
30
  workContextHandler: import("./types").WorkContextHandler;
27
31
  documentLoaders: DocumentLoaders;
32
+ subAgentsDispatcher: SubAgentsDispatcher;
33
+ knowledgeBaseManager: KnowledgeBaseManager;
28
34
  snowflake: Snowflake;
29
35
  /**
30
36
  * Check if the AI employee is a builder/admin-only type (e.g., Nathan, Orin).
@@ -34,7 +40,6 @@ export declare class PluginAIServer extends Plugin {
34
40
  afterAdd(): Promise<void>;
35
41
  beforeLoad(): Promise<void>;
36
42
  load(): Promise<void>;
37
- setupBuiltIn(): Promise<void>;
38
43
  registerLLMProviders(): void;
39
44
  registerTools(): void;
40
45
  defineResources(): void;
@@ -49,8 +49,11 @@ var import_deepseek = require("./llm-providers/deepseek");
49
49
  var import_ai = __toESM(require("./resource/ai"));
50
50
  var import_llm = require("./workflow/nodes/llm");
51
51
  var import_aiConversations = __toESM(require("./resource/aiConversations"));
52
+ var import_aiWorkflowTasks = __toESM(require("./resource/aiWorkflowTasks"));
52
53
  var import_aiTools = __toESM(require("./resource/aiTools"));
54
+ var import_aiSkills = __toESM(require("./resource/aiSkills"));
53
55
  var import_ai_employees_manager = require("./ai-employees/ai-employees-manager");
56
+ var import_ai_conversations = require("./ai-employees/ai-conversations");
54
57
  var import_snowflake = __toESM(require("./snowflake"));
55
58
  var aiEmployeeActions = __toESM(require("./resource/aiEmployees"));
56
59
  var import_google_genai = require("./llm-providers/google-genai");
@@ -63,20 +66,27 @@ var import_ollama = require("./llm-providers/ollama");
63
66
  var import_built_in_manager = require("./manager/built-in-manager");
64
67
  var import_ai_context_datasource_manager = require("./manager/ai-context-datasource-manager");
65
68
  var import_aiContextDatasources = require("./resource/aiContextDatasources");
69
+ var import_aiMcpClients = __toESM(require("./resource/aiMcpClients"));
66
70
  var import_work_context_handler = require("./manager/work-context-handler");
67
71
  var import_ai_coding_manager = require("./manager/ai-coding-manager");
68
72
  var import_kimi = require("./llm-providers/kimi");
69
73
  var import_document_loader = require("./document-loader");
70
74
  var import_checkpoints = require("./ai-employees/checkpoints");
75
+ var import_sub_agents = require("./ai-employees/sub-agents");
76
+ var import_employee = require("./workflow/nodes/employee");
77
+ var import_ai_knowledge_base = require("./ai-employees/ai-knowledge-base");
71
78
  class PluginAIServer extends import_server.Plugin {
72
79
  features = new import_ai_feature_manager.AIPluginFeatureManagerImpl();
73
80
  aiManager = new import_ai_manager.AIManager(this);
74
81
  aiEmployeesManager = new import_ai_employees_manager.AIEmployeesManager(this);
82
+ aiConversationsManager = new import_ai_conversations.AIConversationsManager(this);
75
83
  builtInManager = new import_built_in_manager.BuiltInManager(this);
76
84
  aiContextDatasourceManager = new import_ai_context_datasource_manager.AIContextDatasourceManager(this);
77
85
  aiCodingManager = new import_ai_coding_manager.AICodingManager(this);
78
86
  workContextHandler = (0, import_work_context_handler.createWorkContextHandler)(this);
79
87
  documentLoaders = new import_document_loader.DocumentLoaders(this);
88
+ subAgentsDispatcher = new import_sub_agents.SubAgentsDispatcher(this);
89
+ knowledgeBaseManager = new import_ai_knowledge_base.KnowledgeBaseManager(this);
80
90
  snowflake;
81
91
  /**
82
92
  * Check if the AI employee is a builder/admin-only type (e.g., Nathan, Orin).
@@ -108,6 +118,11 @@ class PluginAIServer extends import_server.Plugin {
108
118
  }
109
119
  }
110
120
  });
121
+ this.app.on("afterStart", async () => {
122
+ await this.ai.skillsManager.init();
123
+ await this.ai.employeeManager.init();
124
+ await this.ai.mcpManager.init();
125
+ });
111
126
  }
112
127
  async load() {
113
128
  await (0, import_tools.loadDocsIndexes)();
@@ -117,9 +132,8 @@ class PluginAIServer extends import_server.Plugin {
117
132
  this.setPermissions();
118
133
  this.registerWorkflow();
119
134
  this.registerWorkContextResolveStrategy();
120
- }
121
- async setupBuiltIn() {
122
- await this.builtInManager.createOrUpdateAIEmployee();
135
+ (0, import_employee.registerAIEmployeeTaskNotification)(this);
136
+ (0, import_employee.registerOnJobAbortedHandler)(this);
123
137
  }
124
138
  registerLLMProviders() {
125
139
  this.aiManager.registerLLMProvider("google-genai", import_google_genai.googleGenAIProviderOptions);
@@ -135,13 +149,18 @@ class PluginAIServer extends import_server.Plugin {
135
149
  const toolsManager = this.ai.toolsManager;
136
150
  toolsManager.registerTools([(0, import_tools.createDocsSearchTool)(), (0, import_tools.createReadDocEntryTool)()]);
137
151
  toolsManager.registerDynamicTools((0, import_tools.getWorkflowCallers)(this, "workflowCaller"));
152
+ toolsManager.registerDynamicTools((0, import_employee.getWorkflowTasks)(this));
153
+ toolsManager.registerDynamicTools(this.ai.mcpManager.getMCPToolsProvider());
138
154
  }
139
155
  defineResources() {
140
156
  this.app.resourceManager.define(import_ai.default);
141
157
  this.app.resourceManager.define(import_aiConversations.default);
158
+ this.app.resourceManager.define(import_aiWorkflowTasks.default);
142
159
  this.app.resourceManager.define(import_aiTools.default);
160
+ this.app.resourceManager.define(import_aiSkills.default);
143
161
  this.app.resourceManager.define(import_aiSettings.default);
144
162
  this.app.resourceManager.define(import_aiContextDatasources.aiContextDatasources);
163
+ this.app.resourceManager.define(import_aiMcpClients.default);
145
164
  this.app.resourceManager.use(
146
165
  async (ctx, next) => {
147
166
  var _a;
@@ -164,15 +183,20 @@ class PluginAIServer extends import_server.Plugin {
164
183
  name: `pm.${this.name}.llm-services`,
165
184
  actions: ["ai:*", "llmServices:*"]
166
185
  });
186
+ this.app.acl.registerSnippet({
187
+ name: `pm.${this.name}.mcp-settings`,
188
+ actions: ["aiMcpClients:*"]
189
+ });
167
190
  this.app.acl.registerSnippet({
168
191
  name: `pm.${this.name}.ai-employees`,
169
- actions: ["aiEmployees:*", "aiTools:*", "roles.aiEmployees:*", "aiContextDatasources:*"]
192
+ actions: ["aiEmployees:*", "aiTools:*", "aiSkills:*", "roles.aiEmployees:*", "aiContextDatasources:*"]
170
193
  });
171
194
  this.app.acl.registerSnippet({
172
195
  name: `pm.${this.name}.ai-settings`,
173
196
  actions: ["aiSettings:*"]
174
197
  });
175
198
  this.app.acl.allow("aiConversations", "*", "loggedIn");
199
+ this.app.acl.allow("aiWorkflowTasks", "*", "loggedIn");
176
200
  this.app.acl.allow("aiContextDatasources", "get", "loggedIn");
177
201
  this.app.acl.allow("aiContextDatasources", "list", "loggedIn");
178
202
  this.app.acl.allow("aiContextDatasources", "preview", "loggedIn");
@@ -182,6 +206,7 @@ class PluginAIServer extends import_server.Plugin {
182
206
  this.app.acl.allow("aiEmployees", "listByUser", "loggedIn");
183
207
  this.app.acl.allow("aiEmployees", "updateUserPrompt", "loggedIn");
184
208
  this.app.acl.allow("aiTools", "list", "loggedIn");
209
+ this.app.acl.allow("aiSkills", "list", "loggedIn");
185
210
  const workflowSnippet = this.app.acl.snippetManager.snippets.get("pm.workflow.workflows");
186
211
  if (workflowSnippet) {
187
212
  workflowSnippet.actions.push("ai:listModels");
@@ -219,14 +244,14 @@ class PluginAIServer extends import_server.Plugin {
219
244
  const workflow = this.app.pm.get("workflow");
220
245
  workflow.registerTrigger("ai-employee", import_ai_employee.AIEmployeeTrigger);
221
246
  workflow.registerInstruction("llm", import_llm.LLMInstruction);
247
+ workflow.registerInstruction("ai-employee", import_employee.AIEmployeeInstruction);
222
248
  }
223
249
  registerWorkContextResolveStrategy() {
224
250
  this.workContextHandler.registerStrategy("datasource", {
225
251
  resolve: this.aiContextDatasourceManager.provideWorkContextResolveStrategy()
226
252
  });
227
253
  this.workContextHandler.registerStrategy("code-editor", {
228
- resolve: this.aiCodingManager.provideWorkContextResolveStrategy(),
229
- background: this.aiCodingManager.provideWorkContextBackgroundStrategy()
254
+ resolve: this.aiCodingManager.provideWorkContextResolveStrategy()
230
255
  });
231
256
  }
232
257
  handleSyncMessage(message) {
@@ -244,10 +269,8 @@ class PluginAIServer extends import_server.Plugin {
244
269
  return;
245
270
  }
246
271
  await this.db.getRepository("aiSettings").create({});
247
- await this.setupBuiltIn();
248
272
  }
249
273
  async upgrade() {
250
- await this.setupBuiltIn();
251
274
  }
252
275
  async afterEnable() {
253
276
  }