@nocobase/plugin-ai 2.1.0-beta.15 → 2.1.0-beta.17
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.
- package/dist/ai/ai-employees/atlas/index.d.ts +10 -0
- package/dist/{server/ai-employees/built-in/ai-coding/prompt.js → ai/ai-employees/atlas/index.js} +29 -20
- package/dist/ai/ai-employees/atlas/prompt.md +84 -0
- package/dist/ai/ai-employees/dara.d.ts +10 -0
- package/dist/{server/ai-employees/built-in/data-visualization/prompt.js → ai/ai-employees/dara.js} +21 -13
- package/dist/ai/ai-employees/dex.d.ts +10 -0
- package/dist/{server/ai-employees/built-in/data-organizer/prompt.js → ai/ai-employees/dex.js} +15 -7
- package/dist/ai/ai-employees/ellis.d.ts +10 -0
- package/dist/{server/ai-employees/built-in/email-assistant/prompt.js → ai/ai-employees/ellis.js} +19 -11
- package/dist/ai/ai-employees/lexi.d.ts +10 -0
- package/dist/{server/ai-employees/built-in/translator/prompt.js → ai/ai-employees/lexi.js} +15 -7
- package/dist/ai/ai-employees/vera.d.ts +10 -0
- package/dist/{server/ai-employees/built-in/research-analyst/prompt.js → ai/ai-employees/vera.js} +16 -8
- package/dist/ai/ai-employees/viz.d.ts +10 -0
- package/dist/{server/ai-employees/built-in/insights-analyst/prompt.js → ai/ai-employees/viz.js} +15 -7
- package/dist/ai/skills/business-analysis-report/SKILLS.md +88 -0
- package/dist/{server/ai-employees/built-in/ai-coding/prompt.d.ts → ai/skills/business-analysis-report/tools/businessReportGenerator.d.ts} +1 -3
- package/dist/ai/skills/business-analysis-report/tools/businessReportGenerator.js +98 -0
- package/dist/ai/skills/document-search/SKILLS.md +69 -0
- package/dist/ai/tools/chartGenerator.js +15 -3
- package/dist/ai/tools/formFiller.js +13 -2
- package/dist/{server/ai-employees/built-in/data-modeling/prompt.d.ts → ai/tools/getSkill.d.ts} +1 -3
- package/dist/{server/ai-employees/built-in/data-modeling/index.js → ai/tools/getSkill.js} +39 -32
- package/dist/{server/ai-employees/built-in/data-organizer/prompt.d.ts → ai/tools/knowledge-base-retrieve.d.ts} +1 -3
- package/dist/ai/tools/knowledge-base-retrieve.js +94 -0
- package/dist/{server/ai-employees/built-in/data-visualization/prompt.d.ts → ai/tools/sub-agents/dispatch-sub-agent-task.d.ts} +1 -3
- package/dist/ai/tools/sub-agents/dispatch-sub-agent-task.js +108 -0
- package/dist/ai/tools/sub-agents/get-ai-employee.d.ts +10 -0
- package/dist/{server/ai-employees/built-in/translator/profile.js → ai/tools/sub-agents/get-ai-employee.js} +28 -21
- package/dist/ai/tools/sub-agents/list-ai-employees.d.ts +10 -0
- package/dist/{server/ai-employees/built-in/email-assistant/profile.js → ai/tools/sub-agents/list-ai-employees.js} +25 -21
- package/dist/ai/tools/sub-agents/shared.d.ts +33 -0
- package/dist/ai/tools/sub-agents/shared.js +169 -0
- package/dist/ai/tools/suggestions.js +15 -4
- package/dist/client/170.d98eacdc00d9d527.js +10 -0
- package/dist/client/228.b18148eb1009d2fb.js +10 -0
- package/dist/client/280.029428b83d62155f.js +10 -0
- package/dist/client/290.0888139e33c9b7cb.js +10 -0
- package/dist/client/{524.954f96ec4fc2fd7a.js → 331.d547c95410476a69.js} +1 -1
- package/dist/client/343.83f7d96664e4e038.js +10 -0
- package/dist/client/406.15c09d98faa2ccf1.js +10 -0
- package/dist/client/428.e9f38da3b0d8b498.js +10 -0
- package/dist/client/486.afbed6b132b3c0dd.js +10 -0
- package/dist/client/502.2b4a51e0a8122e52.js +10 -0
- package/dist/client/525.33a9c8ec28be4ec4.js +10 -0
- package/dist/client/559.133d286a0a0a1d93.js +10 -0
- package/dist/client/{91.90e7098b7fbd5d00.js → 561.776886c5308e3c26.js} +1 -1
- package/dist/client/580.e75f97fb883ad042.js +10 -0
- package/dist/client/597.aa363881a325b5c0.js +10 -0
- package/dist/client/604.de96f3ec4d471afd.js +10 -0
- package/dist/client/614.aa766080f6b99aab.js +10 -0
- package/dist/client/646.51313bb0d85d6366.js +10 -0
- package/dist/client/687.224e569a99cae4bb.js +10 -0
- package/dist/client/699.57c0a1acb723202a.js +10 -0
- package/dist/client/711.266b8f1c520d467a.js +10 -0
- package/dist/client/758.a9741e81911e53c3.js +10 -0
- package/dist/client/768.973ce32e15099a48.js +10 -0
- package/dist/client/792.ae8ad1fcae9fd974.js +10 -0
- package/dist/client/820.6a26239ea96c075a.js +10 -0
- package/dist/client/832.0cf69e3f43c320b2.js +10 -0
- package/dist/client/927.ff5cd05b14901ae6.js +10 -0
- package/dist/client/ai-employees/admin/SkillSettings.d.ts +7 -5
- package/dist/client/ai-employees/admin/ToolsSettings.d.ts +17 -0
- package/dist/client/ai-employees/admin/mcp/MCPSettings.d.ts +10 -0
- package/dist/client/ai-employees/admin/mcp/MCPToolsList.d.ts +19 -0
- package/dist/client/ai-employees/admin/mcp/context.d.ts +15 -0
- package/dist/client/ai-employees/admin/mcp/schemas.d.ts +1286 -0
- package/dist/client/ai-employees/built-in/utils.d.ts +1 -0
- package/dist/client/ai-employees/business-report/tools/index.d.ts +10 -0
- package/dist/client/ai-employees/business-report/ui/BusinessReportCard.d.ts +12 -0
- package/dist/client/ai-employees/business-report/ui/BusinessReportModal.d.ts +17 -0
- package/dist/client/ai-employees/business-report/ui/report-utils.d.ts +38 -0
- package/dist/client/ai-employees/chatbox/AIEmployeeSwitch.d.ts +3 -2
- package/dist/client/ai-employees/chatbox/HintMessageHeader.d.ts +10 -0
- package/dist/client/ai-employees/chatbox/ModelSwitcher.d.ts +3 -1
- package/dist/client/ai-employees/chatbox/SearchSwitch.d.ts +3 -1
- package/dist/client/ai-employees/chatbox/Upload.d.ts +3 -1
- package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +27 -0
- package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +33 -0
- package/dist/client/ai-employees/chatbox/conversations/common.d.ts +43 -0
- package/dist/client/ai-employees/chatbox/conversations/index.d.ts +9 -0
- package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +5 -3
- package/dist/client/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +27 -0
- package/dist/client/ai-employees/chatbox/markdown/ECharts.d.ts +1 -2
- package/dist/client/ai-employees/chatbox/markdown/Markdown.d.ts +1 -1
- package/dist/client/ai-employees/chatbox/roles.d.ts +1 -0
- package/dist/client/ai-employees/chatbox/stores/chat-box.d.ts +8 -0
- package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +4 -0
- package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +8 -0
- package/dist/client/ai-employees/chatbox/stores/workflow-tasks.d.ts +45 -0
- package/dist/client/ai-employees/chatbox/utils.d.ts +17 -7
- package/dist/client/ai-employees/sub-agents/tools/index.d.ts +10 -0
- package/dist/client/ai-employees/sub-agents/ui/SubAgentDispatchCard.d.ts +21 -0
- package/dist/client/ai-employees/types.d.ts +24 -4
- package/dist/{server/ai-employees/built-in/ai-coding/document/example/js-filter → client/ai-employees/workflow-tasks/tools}/index.d.ts +2 -7
- package/dist/client/ai-employees/workflow-tasks/ui/WorkflowTaskOutputCard.d.ts +11 -0
- package/dist/client/components/ListCollapse.d.ts +28 -0
- package/dist/client/index.js +7 -7
- package/dist/client/manager/ai-manager.d.ts +4 -23
- package/dist/client/repositories/AIConfigRepository.d.ts +11 -3
- package/dist/client/workflow/nodes/employee/components/AIEmployeeSelect.d.ts +10 -0
- package/dist/client/workflow/nodes/employee/components/assigness.d.ts +11 -0
- package/dist/client/workflow/nodes/employee/components/file-inputs.d.ts +10 -0
- package/dist/client/workflow/nodes/employee/components/message-inputs.d.ts +12 -0
- package/dist/client/workflow/nodes/employee/components/model-options.d.ts +10 -0
- package/dist/client/workflow/nodes/employee/components/skill-settings.d.ts +10 -0
- package/dist/client/workflow/nodes/employee/components/structured-output.d.ts +10 -0
- package/dist/client/workflow/nodes/employee/components/users-select.d.ts +15 -0
- package/dist/client/workflow/nodes/employee/components/web-search-options.d.ts +10 -0
- package/dist/client/workflow/nodes/employee/configuration.d.ts +12 -0
- package/dist/client/workflow/nodes/employee/flow-models/feedback.d.ts +14 -0
- package/dist/client/workflow/nodes/employee/flow-models/task.d.ts +13 -0
- package/dist/client/workflow/nodes/employee/index.d.ts +7 -31
- package/dist/collections/ai-employees.js +2 -1
- package/dist/collections/ai-mcp-clients.d.ts +51 -0
- package/dist/collections/ai-mcp-clients.js +111 -0
- package/dist/externalVersion.js +17 -15
- package/dist/locale/en-US.json +141 -8
- package/dist/locale/zh-CN.json +142 -9
- package/dist/node_modules/fast-glob/out/index.js +8 -8
- package/dist/node_modules/fast-glob/package.json +1 -1
- package/dist/node_modules/flexsearch/dist/flexsearch.bundle.min.js +2 -2
- package/dist/node_modules/flexsearch/package.json +1 -1
- package/dist/node_modules/fs-extra/lib/index.js +1 -1
- package/dist/node_modules/fs-extra/package.json +1 -1
- package/dist/node_modules/nodejs-snowflake/nodejs_snowflake.js +1 -1
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/node_modules/openai/index.js +1 -1
- package/dist/node_modules/openai/package.json +1 -1
- package/dist/node_modules/zod/index.cjs +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/ai-employees/ai-conversations.d.ts +70 -0
- package/dist/server/ai-employees/ai-conversations.js +325 -0
- package/dist/server/ai-employees/ai-employee.d.ts +100 -19
- package/dist/server/ai-employees/ai-employee.js +484 -261
- package/dist/server/ai-employees/ai-knowledge-base.d.ts +28 -0
- package/dist/server/ai-employees/ai-knowledge-base.js +167 -0
- package/dist/server/ai-employees/middleware/conversation.d.ts +2 -0
- package/dist/server/ai-employees/middleware/conversation.js +38 -5
- package/dist/server/ai-employees/middleware/index.d.ts +2 -0
- package/dist/server/ai-employees/middleware/index.js +5 -1
- package/dist/server/ai-employees/middleware/skill-tools.d.ts +12 -0
- package/dist/server/ai-employees/middleware/skill-tools.js +88 -0
- package/dist/server/ai-employees/middleware/tools.js +37 -10
- package/dist/server/ai-employees/middleware/workflow-history.d.ts +22 -0
- package/dist/server/ai-employees/middleware/workflow-history.js +173 -0
- package/dist/server/ai-employees/prompts.d.ts +16 -1
- package/dist/server/ai-employees/prompts.js +37 -1
- package/dist/server/ai-employees/sub-agents/dispatcher.d.ts +36 -0
- package/dist/server/ai-employees/sub-agents/dispatcher.js +225 -0
- package/dist/server/ai-employees/sub-agents/index.d.ts +9 -0
- package/dist/server/{migrations/20250923221107-setup-build-in.js → ai-employees/sub-agents/index.js} +9 -13
- package/dist/server/ai-employees/templates/form-assistant.d.ts +2 -2
- package/dist/server/ai-employees/templates/form-assistant.js +2 -2
- package/dist/server/ai-employees/utils.js +2 -2
- package/dist/server/collections/ai-conversations.js +18 -0
- 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
- package/dist/server/{ai-employees/built-in/nocobase-assistant/index.js → collections/ai-mcp-clients.js} +12 -13
- package/dist/server/{ai-employees/built-in/ai-coding/document/basic/flow-resource.d.ts → collections/ai-skills.d.ts} +1 -4
- package/dist/server/{ai-employees/built-in/email-assistant/index.js → collections/ai-skills.js} +46 -23
- 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
- package/dist/server/collections/ai-workflow-tasks.js +112 -0
- 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
- package/dist/server/collections/users-ai-workflow-tasks.js +44 -0
- package/dist/server/llm-providers/anthropic.d.ts +1 -0
- package/dist/server/llm-providers/anthropic.js +2 -1
- package/dist/server/llm-providers/dashscope.d.ts +1 -0
- package/dist/server/llm-providers/deepseek.d.ts +1 -0
- package/dist/server/llm-providers/google-genai.d.ts +1 -0
- package/dist/server/llm-providers/google-genai.js +2 -1
- package/dist/server/llm-providers/kimi/provider.d.ts +1 -0
- package/dist/server/llm-providers/openai/responses.d.ts +1 -0
- package/dist/server/llm-providers/openai/responses.js +2 -1
- package/dist/server/llm-providers/provider.d.ts +1 -10
- package/dist/server/llm-providers/provider.js +3 -34
- package/dist/server/manager/ai-coding-manager.d.ts +1 -2
- package/dist/server/manager/ai-coding-manager.js +0 -41
- package/dist/server/manager/ai-context-datasource-manager.js +30 -1
- package/dist/server/manager/built-in-manager.d.ts +2 -4
- package/dist/server/manager/built-in-manager.js +8 -117
- package/dist/server/migrations/20260306000001-migrate-skill-settings-tools.js +68 -0
- package/dist/server/migrations/20260319000000-add-ai-conversations-from.d.ts +14 -0
- package/dist/server/migrations/20260319000000-add-ai-conversations-from.js +63 -0
- package/dist/server/plugin.d.ts +6 -1
- package/dist/server/plugin.js +31 -8
- package/dist/server/resource/aiConversations.js +112 -188
- package/dist/server/resource/aiEmployees.js +5 -7
- package/dist/server/resource/aiMcpClients.d.ts +11 -0
- package/dist/server/resource/aiMcpClients.js +78 -0
- package/dist/server/{ai-employees/built-in/ai-coding/document/example/js-column/index.d.ts → resource/aiSkills.d.ts} +3 -7
- package/dist/server/resource/aiSkills.js +71 -0
- package/dist/server/resource/aiTools.js +4 -6
- package/dist/server/resource/aiWorkflowTasks.d.ts +12 -0
- package/dist/server/resource/aiWorkflowTasks.js +290 -0
- package/dist/server/tools/docs.js +4 -3
- package/dist/server/tools/workflow-caller.js +1 -0
- package/dist/server/types/ai-chat-conversation.type.d.ts +8 -2
- package/dist/server/types/ai-message.type.d.ts +7 -0
- package/dist/server/utils.d.ts +3 -0
- package/dist/server/utils.js +28 -3
- package/dist/server/workflow/nodes/employee/files.d.ts +16 -0
- package/dist/server/workflow/nodes/employee/files.js +125 -0
- package/dist/server/workflow/nodes/employee/handler.d.ts +11 -0
- package/dist/server/workflow/nodes/employee/handler.js +107 -0
- package/dist/server/workflow/nodes/employee/index.d.ts +17 -0
- package/dist/server/workflow/nodes/employee/index.js +404 -0
- package/dist/server/workflow/nodes/employee/tools.d.ts +12 -0
- package/dist/server/workflow/nodes/employee/tools.js +133 -0
- package/dist/server/workflow/nodes/employee/types.d.ts +35 -0
- package/dist/server/workflow/nodes/employee/types.js +24 -0
- package/dist/server/workflow/utils.d.ts +14 -0
- package/dist/server/workflow/utils.js +111 -0
- package/package.json +4 -2
- package/dist/client/107.64d9efa24d6b9143.js +0 -10
- package/dist/client/124.768c8aa5d6e6b461.js +0 -10
- package/dist/client/159.d52107c7a34ce2da.js +0 -10
- package/dist/client/192.0419770b69678994.js +0 -10
- package/dist/client/204.91be8cfc54d91a59.js +0 -10
- package/dist/client/238.9f784a7cdb751999.js +0 -10
- package/dist/client/263.6e1dfb1cbb1964f5.js +0 -10
- package/dist/client/35.5ee7503d9c09daa8.js +0 -10
- package/dist/client/47.6bd245f2140efd24.js +0 -10
- package/dist/client/481.03b3d2306d409933.js +0 -10
- package/dist/client/586.6a1510cabaa84f23.js +0 -10
- package/dist/client/650.8871a07b31c307ea.js +0 -10
- package/dist/client/755.e295bbd2b2a1cc21.js +0 -10
- package/dist/client/772.d51f683c55e18dd4.js +0 -10
- package/dist/client/870.84187dcb8c89b4dc.js +0 -10
- package/dist/client/933.baab3aa75f30e020.js +0 -10
- package/dist/client/987.3aee964e7f406939.js +0 -10
- package/dist/server/ai-employees/built-in/ai-coding/document/basic/flow-resource.js +0 -256
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/index.js +0 -48
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_accounts_en.js +0 -452
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_contacts_en.js +0 -363
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_opportunities_en.js +0 -270
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_quotations_en.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_quotations_en.js +0 -219
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_tickets_en.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-column/js_columns_for_tickets_en.js +0 -409
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/accounts_filter_ant_style.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/accounts_filter_ant_style.js +0 -324
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/contacts_filter_ant_style.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/contacts_filter_ant_style.js +0 -309
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/index.js +0 -50
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/leads_filter_ant_style.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/leads_filter_ant_style.js +0 -345
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/opportunities_filter_ant_style.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/opportunities_filter_ant_style.js +0 -381
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/product_categories_ant_style.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/product_categories_ant_style.js +0 -545
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/tickets_filter_ant_style.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/example/js-filter/tickets_filter_ant_style.js +0 -346
- package/dist/server/ai-employees/built-in/ai-coding/document/js-action.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/js-action.js +0 -102
- package/dist/server/ai-employees/built-in/ai-coding/document/js-block.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/js-block.js +0 -314
- package/dist/server/ai-employees/built-in/ai-coding/document/js-column.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/js-column.js +0 -113
- package/dist/server/ai-employees/built-in/ai-coding/document/js-field.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/js-field.js +0 -498
- package/dist/server/ai-employees/built-in/ai-coding/document/js-item.d.ts +0 -13
- package/dist/server/ai-employees/built-in/ai-coding/document/js-item.js +0 -184
- package/dist/server/ai-employees/built-in/ai-coding/index.d.ts +0 -37
- package/dist/server/ai-employees/built-in/ai-coding/index.js +0 -99
- package/dist/server/ai-employees/built-in/ai-coding/profile.d.ts +0 -27
- package/dist/server/ai-employees/built-in/ai-coding/profile.js +0 -60
- package/dist/server/ai-employees/built-in/ai-coding/prompt_en.md +0 -110
- package/dist/server/ai-employees/built-in/data-modeling/index.d.ts +0 -37
- package/dist/server/ai-employees/built-in/data-modeling/profile.d.ts +0 -27
- package/dist/server/ai-employees/built-in/data-modeling/profile.js +0 -60
- package/dist/server/ai-employees/built-in/data-modeling/prompt.js +0 -283
- package/dist/server/ai-employees/built-in/data-organizer/index.d.ts +0 -37
- package/dist/server/ai-employees/built-in/data-organizer/index.js +0 -63
- package/dist/server/ai-employees/built-in/data-organizer/profile.d.ts +0 -27
- package/dist/server/ai-employees/built-in/data-organizer/profile.js +0 -60
- package/dist/server/ai-employees/built-in/data-visualization/index.d.ts +0 -37
- package/dist/server/ai-employees/built-in/data-visualization/index.js +0 -58
- package/dist/server/ai-employees/built-in/data-visualization/profile.d.ts +0 -27
- package/dist/server/ai-employees/built-in/data-visualization/profile.js +0 -60
- package/dist/server/ai-employees/built-in/email-assistant/index.d.ts +0 -34
- package/dist/server/ai-employees/built-in/email-assistant/profile.d.ts +0 -27
- package/dist/server/ai-employees/built-in/email-assistant/prompt.d.ts +0 -12
- package/dist/server/ai-employees/built-in/insights-analyst/index.d.ts +0 -37
- package/dist/server/ai-employees/built-in/insights-analyst/index.js +0 -63
- package/dist/server/ai-employees/built-in/insights-analyst/profile.d.ts +0 -27
- package/dist/server/ai-employees/built-in/insights-analyst/profile.js +0 -60
- package/dist/server/ai-employees/built-in/insights-analyst/prompt.d.ts +0 -12
- package/dist/server/ai-employees/built-in/nocobase-assistant/index.d.ts +0 -34
- package/dist/server/ai-employees/built-in/nocobase-assistant/profile.d.ts +0 -27
- package/dist/server/ai-employees/built-in/nocobase-assistant/profile.js +0 -60
- package/dist/server/ai-employees/built-in/nocobase-assistant/prompt.d.ts +0 -12
- package/dist/server/ai-employees/built-in/nocobase-assistant/prompt.js +0 -52
- package/dist/server/ai-employees/built-in/research-analyst/index.d.ts +0 -37
- package/dist/server/ai-employees/built-in/research-analyst/index.js +0 -63
- package/dist/server/ai-employees/built-in/research-analyst/profile.d.ts +0 -27
- package/dist/server/ai-employees/built-in/research-analyst/profile.js +0 -60
- package/dist/server/ai-employees/built-in/research-analyst/prompt.d.ts +0 -12
- package/dist/server/ai-employees/built-in/translator/index.d.ts +0 -37
- package/dist/server/ai-employees/built-in/translator/index.js +0 -67
- package/dist/server/ai-employees/built-in/translator/profile.d.ts +0 -27
- package/dist/server/ai-employees/built-in/translator/prompt.d.ts +0 -12
- /package/dist/client/ai-employees/chatbox/{Conversations.d.ts → conversations/Conversations.d.ts} +0 -0
- /package/dist/server/migrations/{20250923221107-setup-build-in.d.ts → 20260306000001-migrate-skill-settings-tools.d.ts} +0 -0
|
@@ -39,132 +39,23 @@ __export(built_in_manager_exports, {
|
|
|
39
39
|
BuiltInManager: () => BuiltInManager
|
|
40
40
|
});
|
|
41
41
|
module.exports = __toCommonJS(built_in_manager_exports);
|
|
42
|
-
var
|
|
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_email_assistant = __toESM(require("../ai-employees/built-in/email-assistant"));
|
|
49
|
-
var import_data_visualization = __toESM(require("../ai-employees/built-in/data-visualization"));
|
|
50
|
-
var import_lodash = __toESM(require("lodash"));
|
|
51
|
-
const DEFAULT_LANGUAGE = "en-US";
|
|
52
|
-
const DEFAULT_KNOWLEDGE_BASE = {
|
|
53
|
-
topK: 3,
|
|
54
|
-
score: "0.6",
|
|
55
|
-
knowledgeBaseIds: []
|
|
56
|
-
};
|
|
57
|
-
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"));
|
|
58
43
|
class BuiltInManager {
|
|
59
44
|
constructor(plugin) {
|
|
60
45
|
this.plugin = plugin;
|
|
61
46
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
import_ai_coding.default,
|
|
65
|
-
import_data_organizer.default,
|
|
66
|
-
import_insights_analyst.default,
|
|
67
|
-
import_research_analyst.default,
|
|
68
|
-
import_translator.default,
|
|
69
|
-
// nocobaseAssistant,
|
|
70
|
-
import_email_assistant.default,
|
|
71
|
-
import_data_visualization.default
|
|
72
|
-
];
|
|
73
|
-
builtInEmployeeMap = Object.fromEntries(this.builtInEmployees.map((x) => [x.username, x]));
|
|
74
|
-
setupBuiltInInfo(locale, aiEmployee) {
|
|
75
|
-
var _a;
|
|
47
|
+
setupBuiltInInfo(ctx, aiEmployee) {
|
|
48
|
+
var _a, _b, _c, _d;
|
|
76
49
|
if (!aiEmployee) {
|
|
77
50
|
return;
|
|
78
51
|
}
|
|
79
|
-
|
|
80
|
-
if (!builtInEmployeeInfo) {
|
|
52
|
+
if (!aiEmployee.builtIn) {
|
|
81
53
|
return;
|
|
82
54
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
aiEmployee.
|
|
86
|
-
aiEmployee.
|
|
87
|
-
aiEmployee.position = position;
|
|
88
|
-
aiEmployee.bio = bio;
|
|
89
|
-
aiEmployee.greeting = greeting;
|
|
90
|
-
aiEmployee.defaultPrompt = about;
|
|
91
|
-
const builtInSkills = ((_a = builtInEmployeeInfo.skillSettings) == null ? void 0 : _a.skills) ?? [];
|
|
92
|
-
const skillSettings = aiEmployee.skillSettings ?? {};
|
|
93
|
-
const skills = skillSettings.skills ?? [];
|
|
94
|
-
aiEmployee.skillSettings = {
|
|
95
|
-
...builtInEmployeeInfo.skillSettings ?? {},
|
|
96
|
-
skills: import_lodash.default.uniqBy([...skills, ...builtInSkills], "name")
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
async createOrUpdateAIEmployee(language = DEFAULT_LANGUAGE) {
|
|
100
|
-
var _a;
|
|
101
|
-
const aiEmployeesRepo = this.plugin.db.getRepository("aiEmployees");
|
|
102
|
-
const employeeUsernames = this.builtInEmployees.map((employee) => employee.username);
|
|
103
|
-
const existed = await aiEmployeesRepo.find({
|
|
104
|
-
filter: {
|
|
105
|
-
username: {
|
|
106
|
-
$in: employeeUsernames
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
const existedUsername = existed.map((x) => x.username);
|
|
111
|
-
const setups = this.builtInEmployees.filter((x) => !existedUsername.includes(x.username));
|
|
112
|
-
if (setups.length) {
|
|
113
|
-
this.plugin.log.info("setup built-in employees");
|
|
114
|
-
for (const { username, description, profile, skillSettings } of setups) {
|
|
115
|
-
let p = profile[language];
|
|
116
|
-
if (!p) {
|
|
117
|
-
p = profile[DEFAULT_LANGUAGE];
|
|
118
|
-
}
|
|
119
|
-
if (!p) {
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
const { nickname, avatar, position, bio, greeting } = p;
|
|
123
|
-
await aiEmployeesRepo.create({
|
|
124
|
-
values: {
|
|
125
|
-
username,
|
|
126
|
-
nickname,
|
|
127
|
-
position,
|
|
128
|
-
avatar,
|
|
129
|
-
bio,
|
|
130
|
-
greeting,
|
|
131
|
-
about: null,
|
|
132
|
-
skillSettings,
|
|
133
|
-
enableKnowledgeBase: false,
|
|
134
|
-
knowledgeBase: DEFAULT_KNOWLEDGE_BASE,
|
|
135
|
-
knowledgeBasePrompt: DEFAULT_KNOWLEDGE_BASE_PROMPT,
|
|
136
|
-
enabled: true,
|
|
137
|
-
builtIn: true
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
this.plugin.log.info(`setup [${username}] ${description}`);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
const updates = this.builtInEmployees.filter((x) => existedUsername.includes(x.username));
|
|
144
|
-
if (updates.length) {
|
|
145
|
-
this.plugin.log.info("update built-in employees");
|
|
146
|
-
const existedMap = new Map(existed.map((it) => [it.username, it.toJSON()]));
|
|
147
|
-
for (const { username, description, skillSettings } of updates) {
|
|
148
|
-
let { skills } = ((_a = existedMap.get(username)) == null ? void 0 : _a.skillSettings) ?? { skills: [] };
|
|
149
|
-
skills = (skills ?? []).filter((s) => {
|
|
150
|
-
var _a2;
|
|
151
|
-
return (_a2 = s.name) == null ? void 0 : _a2.startsWith("workflowCaller-");
|
|
152
|
-
});
|
|
153
|
-
const mergedSkills = /* @__PURE__ */ new Set([...skills, ...skillSettings.skills]);
|
|
154
|
-
await aiEmployeesRepo.update({
|
|
155
|
-
values: {
|
|
156
|
-
skillSettings: {
|
|
157
|
-
skills: [...mergedSkills]
|
|
158
|
-
},
|
|
159
|
-
builtIn: true
|
|
160
|
-
},
|
|
161
|
-
filter: {
|
|
162
|
-
username
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
this.plugin.log.info(`update [${username}] ${description}`);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
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 });
|
|
168
59
|
}
|
|
169
60
|
}
|
|
170
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
|
+
}
|
package/dist/server/plugin.d.ts
CHANGED
|
@@ -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;
|
package/dist/server/plugin.js
CHANGED
|
@@ -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
|
-
|
|
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
|
}
|