@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.
- 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.77c26e2e7f8daf28.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.ef9d7c2ea8641044.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 +31 -0
- package/dist/client/ai-employees/chatbox/conversations/common.d.ts +43 -0
- package/dist/{server/document-loader/loader.worker.d.ts → client/ai-employees/chatbox/conversations/index.d.ts} +1 -1
- package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +5 -3
- package/dist/client/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +24 -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 +41 -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 +13 -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 -16
- package/dist/locale/en-US.json +136 -8
- package/dist/locale/zh-CN.json +138 -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/collections/ai-skills.js +73 -0
- 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/document-loader/constants.d.ts +1 -2
- package/dist/server/document-loader/constants.js +6 -1
- package/dist/server/document-loader/loader.d.ts +0 -1
- package/dist/server/document-loader/loader.js +2 -55
- package/dist/server/document-loader/types.d.ts +0 -1
- 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 +4 -35
- 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 -118
- 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/migrations/20260424000000-remove-cole-ai-employee.d.ts +14 -0
- package/dist/server/{ai-employees/built-in/email-assistant/index.js → migrations/20260424000000-remove-cole-ai-employee.js} +20 -22
- 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 +391 -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/server/document-loader/loader.worker.js +0 -68
- package/dist/server/document-loader/vendor/langchain/document_loaders/fs/text.d.ts +0 -20
- package/dist/server/document-loader/vendor/langchain/document_loaders/fs/text.js +0 -96
- /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
|
@@ -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(
|
|
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
|
|
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
|
-
|
|
64
|
-
|
|
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
|
-
|
|
81
|
-
if (!builtInEmployeeInfo) {
|
|
52
|
+
if (!aiEmployee.builtIn) {
|
|
82
53
|
return;
|
|
83
54
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
aiEmployee.
|
|
87
|
-
aiEmployee.
|
|
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
|
|
38
|
-
__export(
|
|
39
|
-
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(
|
|
42
|
-
var
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
+
}
|
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
|
}
|