@nocobase/plugin-ai 2.2.0-beta.9 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client-v2.d.ts +1 -0
- package/dist/ai/docs/nocobase/ai-employees/block/ai-chat-box.md +133 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/documents.md +1 -1
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/index.md +11 -7
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/settings.md +12 -8
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-database.md +3 -3
- package/dist/ai/docs/nocobase/ai-employees/scenarios/company-background-research.md +125 -0
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/create-document.md +1 -1
- package/dist/ai/docs/nocobase/api/app/env.md +3 -1
- package/dist/ai/docs/nocobase/api/cli/index.md +14 -2
- package/dist/ai/docs/nocobase/api/cli/portal/config.md +44 -0
- package/dist/ai/docs/nocobase/api/cli/portal/create.md +48 -0
- package/dist/ai/docs/nocobase/api/cli/portal/deploy.md +39 -0
- package/dist/ai/docs/nocobase/api/cli/portal/destroy.md +41 -0
- package/dist/ai/docs/nocobase/api/cli/portal/dev.md +39 -0
- package/dist/ai/docs/nocobase/api/cli/portal/index.md +136 -0
- package/dist/ai/docs/nocobase/api/cli/portal/info.md +41 -0
- package/dist/ai/docs/nocobase/api/cli/portal/list.md +40 -0
- package/dist/ai/docs/nocobase/api/cli/portal/pull.md +43 -0
- package/dist/ai/docs/nocobase/api/cli/portal/push.md +41 -0
- package/dist/ai/docs/nocobase/building-tips/ai-fill-js-block-form.md +1092 -0
- package/dist/ai/docs/nocobase/building-tips/operations-dashboard.md +513 -0
- package/dist/ai/docs/nocobase/data-sources/calendar/calendar-collection.md +100 -3
- package/dist/ai/docs/nocobase/data-sources/collection-comment/index.md +92 -39
- package/dist/ai/docs/nocobase/data-sources/collection-sql/index.md +150 -29
- package/dist/ai/docs/nocobase/data-sources/collection-tree/index.md +93 -5
- package/dist/ai/docs/nocobase/data-sources/collection-view/index.md +226 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/china-region.md +122 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/collection-select.md +105 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/json.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/nano-id.md +104 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/snowflake-id.md +108 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/sort.md +3 -19
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/advanced/uuid.md +104 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/associations/index.md +44 -8
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/color.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/email.md +104 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/icon.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/input.md +112 -8
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/integer.md +103 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/number.md +103 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/password.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/percent.md +104 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/phone.md +104 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/textarea.md +99 -8
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/basic/url.md +103 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox-group.md +105 -3
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/checkbox.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/china-region.md +108 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/multiple-select.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/radio-group.md +106 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/choices/select.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/date.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime-without-tz.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/datetime.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/index.md +53 -47
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/time.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/datetime/unix-timestamp.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/circle.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/line.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/point.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/geometric/polygon.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/index.md +62 -16
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/markdown.md +104 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/media/rich-text.md +105 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-at.md +105 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/created-by.md +103 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/space.md +100 -6
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/table-oid.md +102 -4
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-at.md +104 -5
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/system-info/updated-by.md +104 -6
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/validation.md +68 -58
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection.md +32 -13
- package/dist/ai/docs/nocobase/data-sources/data-modeling/index.md +41 -33
- package/dist/ai/docs/nocobase/data-sources/data-source-external-mariadb/index.md +114 -6
- package/dist/ai/docs/nocobase/data-sources/data-source-external-mssql/index.md +117 -6
- package/dist/ai/docs/nocobase/data-sources/data-source-external-mysql/index.md +103 -6
- package/dist/ai/docs/nocobase/data-sources/data-source-external-nocobase/index.md +75 -73
- package/dist/ai/docs/nocobase/data-sources/data-source-external-oracle/index.md +129 -11
- package/dist/ai/docs/nocobase/data-sources/data-source-external-postgres/index.md +110 -6
- package/dist/ai/docs/nocobase/data-sources/data-source-kingbase/index.md +75 -49
- package/dist/ai/docs/nocobase/data-sources/data-source-main/general-collection.md +116 -15
- package/dist/ai/docs/nocobase/data-sources/data-source-main/index.md +92 -62
- package/dist/ai/docs/nocobase/data-sources/data-source-main/inheritance-collection.md +97 -10
- package/dist/ai/docs/nocobase/data-sources/data-source-manager/external-database.md +97 -58
- package/dist/ai/docs/nocobase/data-sources/data-source-manager/index.md +32 -24
- package/dist/ai/docs/nocobase/data-sources/data-source-rest-api/index.md +115 -153
- package/dist/ai/docs/nocobase/data-sources/external/clickhouse.md +124 -0
- package/dist/ai/docs/nocobase/data-sources/external/doris.md +130 -0
- package/dist/ai/docs/nocobase/data-sources/external/index.md +140 -0
- package/dist/ai/docs/nocobase/data-sources/external/kingbase.md +129 -0
- package/dist/ai/docs/nocobase/data-sources/external/mariadb.md +126 -0
- package/dist/ai/docs/nocobase/data-sources/external/mssql.md +129 -0
- package/dist/ai/docs/nocobase/data-sources/external/mysql.md +115 -0
- package/dist/ai/docs/nocobase/data-sources/external/nocobase.md +159 -0
- package/dist/ai/docs/nocobase/data-sources/external/oceanbase.md +126 -0
- package/dist/ai/docs/nocobase/data-sources/external/oracle.md +158 -0
- package/dist/ai/docs/nocobase/data-sources/external/postgresql.md +122 -0
- package/dist/ai/docs/nocobase/data-sources/external/rest-api.md +245 -0
- package/dist/ai/docs/nocobase/data-sources/field-attachment-url/index.md +100 -12
- package/dist/ai/docs/nocobase/data-sources/field-encryption/index.md +48 -47
- package/dist/ai/docs/nocobase/data-sources/field-formula/index.md +99 -5
- package/dist/ai/docs/nocobase/data-sources/field-markdown-vditor/index.md +105 -5
- package/dist/ai/docs/nocobase/data-sources/field-sequence/index.md +102 -5
- package/dist/ai/docs/nocobase/data-sources/field-signature/index.md +18 -16
- package/dist/ai/docs/nocobase/data-sources/field-sort/index.md +76 -73
- package/dist/ai/docs/nocobase/data-sources/file-manager/field-attachment.md +101 -7
- package/dist/ai/docs/nocobase/data-sources/file-manager/file-collection.md +101 -14
- package/dist/ai/docs/nocobase/data-sources/index.md +49 -33
- package/dist/ai/docs/nocobase/data-sources/main/index.md +130 -0
- package/dist/ai/docs/nocobase/data-sources/main/kingbase.md +147 -0
- package/dist/ai/docs/nocobase/data-sources/main/mariadb.md +59 -0
- package/dist/ai/docs/nocobase/data-sources/main/mysql.md +59 -0
- package/dist/ai/docs/nocobase/data-sources/main/oceanbase.md +62 -0
- package/dist/ai/docs/nocobase/data-sources/main/postgresql.md +61 -0
- package/dist/ai/docs/nocobase/file-manager/stable-url.md +87 -0
- package/dist/ai/docs/nocobase/file-manager/storage/index.md +66 -26
- package/dist/ai/docs/nocobase/file-manager/storage/local.md +3 -1
- package/dist/ai/docs/nocobase/file-manager/storage/s3-pro.md +58 -7
- package/dist/ai/docs/nocobase/get-started/deployment/production.md +24 -2
- package/dist/ai/docs/nocobase/get-started/installation/docker-caddy.mdx +3 -0
- package/dist/ai/docs/nocobase/get-started/installation/docker-nginx.mdx +3 -0
- package/dist/ai/docs/nocobase/get-started/installation/docker.mdx +27 -3
- package/dist/ai/docs/nocobase/get-started/installation/env.md +35 -2
- package/dist/ai/docs/nocobase/index.md +1 -1
- package/dist/ai/docs/nocobase/interface-builder/blocks/data-blocks/comment.md +107 -0
- package/dist/ai/docs/nocobase/interface-builder/index.md +7 -6
- package/dist/ai/docs/nocobase/interface-builder/ui-layout/desktop.md +97 -0
- package/dist/ai/docs/nocobase/interface-builder/ui-layout/index.md +50 -0
- package/dist/ai/docs/nocobase/interface-builder/ui-layout/mobile.md +133 -0
- package/dist/ai/docs/nocobase/multi-app/multi-app-vs-multi-portal-vs-multi-space.md +159 -0
- package/dist/ai/docs/nocobase/multi-app/multi-portal/index.md +195 -0
- package/dist/ai/docs/nocobase/nocobase-cli/production/index.md +10 -0
- package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/caddy.md +15 -2
- package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/index.md +1 -1
- package/dist/ai/docs/nocobase/nocobase-cli/production/reverse-proxy/nginx.md +16 -2
- package/dist/ai/docs/nocobase/ops-management/migration-manager/built-in-tables.md +1 -2
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-block-comment/index.md +14 -0
- package/dist/ai/docs/nocobase/runjs/context/ai.md +396 -0
- package/dist/ai/docs/nocobase/security/guide.md +23 -0
- package/dist/ai/docs/nocobase/tutorials/index.md +20 -1
- package/dist/ai/docs/nocobase/workflow/development/api.md +259 -77
- package/dist/ai/docs/nocobase/workflow/development/index.md +2 -1
- package/dist/ai/docs/nocobase/workflow/development/migration.md +319 -0
- package/dist/ai/docs/nocobase/workflow/development/node.md +84 -51
- package/dist/ai/docs/nocobase/workflow/development/trigger.md +122 -20
- package/dist/ai/tools/executeFrontendTool.d.ts +10 -0
- package/dist/ai/tools/executeFrontendTool.js +86 -0
- package/dist/ai/tools/formFiller.js +4 -3
- package/dist/ai/tools/getSkill.js +1 -1
- package/dist/ai/tools/loadFrontendTool.d.ts +10 -0
- package/dist/ai/tools/loadFrontendTool.js +99 -0
- package/dist/ai/tools/subAgentWebSearch.js +20 -15
- package/dist/client/23.65ea8c37cd4b884b.js +10 -0
- package/dist/client/244.8631eb5cf3f05e21.js +10 -0
- package/dist/client/264.cc98933ef65608b6.js +10 -0
- package/dist/client/336.7a8a8853196ad779.js +11 -0
- package/dist/client/416.92b74ca47e4099c4.js +10 -0
- package/dist/client/446.d63c38d0309fe250.js +10 -0
- package/dist/client/525.94dd4136c1361477.js +10 -0
- package/dist/client/663.680bcf6272a8504d.js +10 -0
- package/dist/client/681.6ffbc9329b9ac242.js +10 -0
- package/dist/client/705.19b642db34de438a.js +10 -0
- package/dist/client/ai-employees/1.x/selector/AIContextCollector.d.ts +1 -4
- package/dist/client/ai-employees/permissions/PermissionsTab.d.ts +21 -5
- package/dist/client/index.d.ts +13 -20
- package/dist/client/index.js +8 -8
- package/dist/client/workflow/nodes/employee/index.d.ts +2 -23
- package/dist/client/workflow/nodes/llm/index.d.ts +2 -52
- package/dist/client/workflow/triggers/ai-employee/index.d.ts +2 -83
- package/dist/client-v2/23.1bcb6986b40723d8.js +10 -0
- package/dist/client-v2/244.c428e645ecb94414.js +10 -0
- package/dist/client-v2/264.be92ff6a4d2612f1.js +10 -0
- package/dist/client-v2/336.e406470429e0670e.js +11 -0
- package/dist/client-v2/416.0e1c2d9cde43b83d.js +10 -0
- package/dist/client-v2/420.b2aedb1ff71fca0e.js +10 -0
- package/dist/client-v2/446.073d450882db29fd.js +10 -0
- package/dist/client-v2/457.d72febb89e88fc00.js +10 -0
- package/dist/client-v2/663.342341f0b2b412d8.js +10 -0
- package/dist/client-v2/681.6890caa389564ff7.js +10 -0
- package/dist/client-v2/705.8dc34d43f02f322c.js +10 -0
- package/dist/{client/ai-employees/admin/AvatarSelect.d.ts → client-v2/ai-employees/AIEmployeeDropdown.d.ts} +8 -9
- package/dist/client-v2/ai-employees/AIEmployeeShortcut.d.ts +11 -2
- package/dist/{client → client-v2}/ai-employees/AddContextButton.d.ts +3 -1
- package/dist/{client → client-v2}/ai-employees/ai-coding/AICodingButton.d.ts +2 -1
- package/dist/{client/ai-employees/chatbox/AIEmployeeSwitch.d.ts → client-v2/ai-employees/chatbox/components/AIEmployeeSwitcher.d.ts} +1 -0
- package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/Actions.d.ts +2 -4
- package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/AddLLMModal.d.ts +2 -4
- package/dist/client-v2/ai-employees/chatbox/components/Attachments.d.ts +27 -0
- package/dist/{client/ai-employees/permissions/Permissions.d.ts → client-v2/ai-employees/chatbox/components/ChatBox.d.ts} +2 -2
- package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatBoxLayout.d.ts +1 -1
- package/dist/{client/ai-employees/chatbox/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/ChatBoxUnreadBadge.d.ts} +6 -7
- package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ContextItem.d.ts +1 -1
- package/dist/client-v2/ai-employees/chatbox/components/Conversations.d.ts +18 -0
- package/dist/{client/ai-employees/admin/Templates.d.ts → client-v2/ai-employees/chatbox/components/DebugPanel.d.ts} +1 -1
- package/dist/{client/ai-employees/ai-coding/markdown/Code.d.ts → client-v2/ai-employees/chatbox/components/Markdown.d.ts} +12 -3
- package/dist/{client/ai-employees/1.x/selector/BlockSelector.d.ts → client-v2/ai-employees/chatbox/components/MessageContent.d.ts} +3 -4
- package/dist/client-v2/ai-employees/chatbox/components/MessageRenderers.d.ts +39 -0
- package/dist/{client/ai-employees/admin/datasource/components/DatasourceSettingDetail.d.ts → client-v2/ai-employees/chatbox/components/Messages.d.ts} +4 -4
- package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ModelSwitcher.d.ts +4 -0
- package/dist/client-v2/ai-employees/chatbox/components/Sender.d.ts +42 -0
- package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolCard.d.ts +7 -5
- package/dist/client-v2/ai-employees/chatbox/components/index.d.ts +14 -0
- package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChat.d.ts +29 -27
- package/dist/client-v2/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +5 -3
- package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatBoxEffect.d.ts +2 -1
- package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatConversationActions.d.ts +5 -4
- package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +12 -6
- package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useToolCallActions.d.ts +4 -2
- package/dist/client-v2/ai-employees/chatbox/hooks/useUploadFiles.d.ts +56 -0
- package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useWorkflowTasks.d.ts +4 -3
- package/dist/client-v2/ai-employees/chatbox/index.d.ts +17 -0
- package/dist/{client → client-v2}/ai-employees/chatbox/model.d.ts +9 -2
- package/dist/client-v2/ai-employees/chatbox/roles.d.ts +11 -0
- package/dist/client-v2/ai-employees/chatbox/stores/chat-box.d.ts +46 -79
- package/dist/client-v2/ai-employees/chatbox/stores/chat-conversations.d.ts +8 -25
- package/dist/client-v2/ai-employees/chatbox/stores/chat-messages.d.ts +23 -63
- package/dist/client-v2/ai-employees/chatbox/stores/chat-sender.d.ts +43 -0
- package/dist/{client → client-v2}/ai-employees/chatbox/stores/chat-tool-call.d.ts +6 -19
- package/dist/client-v2/ai-employees/chatbox/stores/chat-tools.d.ts +36 -0
- package/dist/client-v2/ai-employees/chatbox/stores/mounted-chat-boxes.d.ts +20 -0
- package/dist/client-v2/ai-employees/chatbox/stores/runtime.d.ts +43 -0
- package/dist/client-v2/ai-employees/chatbox/stores/workflow-tasks.d.ts +72 -0
- package/dist/client-v2/ai-employees/chatbox/upload.d.ts +19 -0
- package/dist/client-v2/ai-employees/chatbox/utils.d.ts +85 -0
- package/dist/{client/ai-employees/data-visualization/context.d.ts → client-v2/ai-employees/context/chart-config.d.ts} +1 -1
- package/dist/{client → client-v2}/ai-employees/context/code-editor.d.ts +1 -1
- package/dist/{client → client-v2}/ai-employees/context/datasource.d.ts +1 -1
- package/dist/{client → client-v2}/ai-employees/context/flow-models.d.ts +1 -1
- package/dist/client-v2/ai-employees/data-modeling/setup.d.ts +15 -0
- package/dist/{client → client-v2}/ai-employees/datasource/DatasourceSelector.d.ts +6 -2
- package/dist/{client/ai-employees/admin/datasource/flow-models/DatasourceSettingModel.d.ts → client-v2/ai-employees/flow/index.d.ts} +4 -6
- package/dist/{client → client-v2}/ai-employees/form-filler/tools/index.d.ts +1 -1
- package/dist/{client/ai-employees/ai-coding/tools/index.d.ts → client-v2/ai-employees/frontend-tools.d.ts} +3 -3
- package/dist/{client → client-v2}/ai-employees/stores/ai-selection.d.ts +4 -4
- package/dist/{client → client-v2}/ai-employees/stores/dialog-controller.d.ts +4 -4
- package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportCard.d.ts +2 -2
- package/dist/{client/ai-employees/business-report/ui → client-v2/ai-employees/tools}/BusinessReportModal.d.ts +2 -2
- package/dist/{client/ai-employees/1.x/selector/withAISelectable.d.ts → client-v2/ai-employees/tools/ChartGeneratorCard.d.ts} +5 -4
- package/dist/{client/ai-employees/ai-coding/ui → client-v2/ai-employees/tools}/CodeToolCard.d.ts +1 -1
- package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingCard.d.ts +3 -5
- package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools}/DataModelingModal.d.ts +4 -6
- package/dist/{client/ai-employees/sub-agents/ui → client-v2/ai-employees/tools}/SubAgentDispatchCard.d.ts +4 -9
- package/dist/client-v2/ai-employees/tools/SuggestionsOptionsCard.d.ts +16 -0
- package/dist/client-v2/ai-employees/tools/WorkflowTaskOutputCard.d.ts +16 -0
- package/dist/{client/ai-employees/ai-coding/tools/context-tools.d.ts → client-v2/ai-employees/tools/ai-coding.d.ts} +3 -1
- package/dist/client-v2/ai-employees/tools/business-report-utils.d.ts +45 -0
- package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/CollectionNode.d.ts +2 -3
- package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Diagram.d.ts +1 -1
- package/dist/{client/ai-employees/data-modeling/ui → client-v2/ai-employees/tools/data-modeling}/Table.d.ts +2 -2
- package/dist/client-v2/ai-employees/tools/data-modeling/legacy-template.d.ts +13 -0
- package/dist/client-v2/ai-employees/tools/data-modeling/runtime.d.ts +15 -0
- package/dist/{client/ai-employees → client-v2/ai-employees/tools}/data-modeling/types.d.ts +27 -4
- package/dist/client-v2/ai-employees/tools/data-modeling/useFieldInterfaceOptions.d.ts +151 -0
- package/dist/{client/ai-employees/data-visualization/tools/index.d.ts → client-v2/ai-employees/tools/data-visualization.d.ts} +1 -1
- package/dist/client-v2/ai-employees/tools/index.d.ts +32 -0
- package/dist/client-v2/ai-employees/types.d.ts +131 -7
- package/dist/client-v2/block/ai-chat-box/AIChatBoxBlockModel.d.ts +21 -0
- package/dist/{client/workflow/nodes/employee/flow-models/task.d.ts → client-v2/block/ai-chat-box/AIChatBoxCoreModel.d.ts} +1 -1
- package/dist/{client/admin-settings/AdminSettings.d.ts → client-v2/block/ai-chat-box/components/AIChatBoxCoreView.d.ts} +1 -1
- package/dist/{client/ai-employees/AIEmployeeListItem.d.ts → client-v2/block/ai-chat-box/components/AIChatBoxView.d.ts} +3 -5
- package/dist/client-v2/block/ai-chat-box/index.d.ts +14 -0
- package/dist/client-v2/block/ai-chat-box/settings.d.ts +12 -0
- package/dist/client-v2/block/ai-chat-box/sub-models.d.ts +26 -0
- package/dist/client-v2/block/ai-chat-box/types.d.ts +38 -0
- package/dist/client-v2/block/ai-chat-box/utils.d.ts +26 -0
- package/dist/client-v2/components/RemoteSelect.d.ts +43 -0
- package/dist/{client → client-v2}/debug-logger.d.ts +2 -2
- package/dist/client-v2/f0053e745af0ad03.svg +50 -0
- package/dist/client-v2/index.d.ts +11 -12
- package/dist/client-v2/index.js +37 -1
- package/dist/client-v2/llm-providers/forms.d.ts +44 -0
- package/dist/client-v2/llm-providers/index.d.ts +24 -0
- package/dist/client-v2/llm-services/model-select.d.ts +33 -0
- package/dist/client-v2/llm-services/utils.d.ts +14 -0
- package/dist/client-v2/locale.d.ts +14 -0
- package/dist/client-v2/manager/ai-manager.d.ts +62 -0
- package/dist/client-v2/manager/frontend-tool-registry.d.ts +30 -0
- package/dist/client-v2/models/ai-employees/AIEmployeeActionModel.d.ts +36 -0
- package/dist/client-v2/models/ai-employees/AIEmployeeShortcutModel.d.ts +49 -0
- package/dist/client-v2/pages/AdminSettingsPage.d.ts +24 -0
- package/dist/client-v2/pages/DatasourceSettingsPage.d.ts +62 -0
- package/dist/client-v2/pages/EmployeesPage.d.ts +64 -0
- package/dist/client-v2/pages/LLMServicesPage.d.ts +75 -0
- package/dist/client-v2/pages/MCPSettingsPage.d.ts +73 -0
- package/dist/client-v2/pages/drawerWidth.d.ts +10 -0
- package/dist/client-v2/pages/permissions/Permissions.d.ts +67 -0
- package/dist/client-v2/pages/permissions/PermissionsTab.d.ts +12 -0
- package/dist/client-v2/pages/useUnsavedChangesBeforeClose.d.ts +29 -0
- package/dist/client-v2/plugin.d.ts +33 -0
- package/dist/client-v2/repositories/AIConfigRepository.d.ts +3 -23
- package/dist/client-v2/runjs/registerAIEmployeeRunJSFacade.d.ts +21 -0
- package/dist/client-v2/workflow/components/FormValueRegistry.d.ts +12 -0
- package/dist/{client/components/ListCollapse.d.ts → client-v2/workflow/components/WorkflowListCollapse.d.ts} +4 -4
- package/dist/client-v2/workflow/constants.d.ts +26 -0
- package/dist/client-v2/workflow/nodes/employee/components/AIEmployeeFieldset.d.ts +11 -0
- package/dist/{client/ai-employees/common/CodeHighlight.d.ts → client-v2/workflow/nodes/employee/components/AIEmployeeSelect.d.ts} +5 -6
- package/dist/{client/ai-employees/ContextAwareTooltip.d.ts → client-v2/workflow/nodes/employee/components/Assignees.d.ts} +2 -1
- package/dist/client-v2/workflow/nodes/employee/components/FeedbackSettings.d.ts +17 -0
- package/dist/client-v2/workflow/nodes/employee/components/FileInputs.d.ts +11 -0
- package/dist/{client/ai-employees/AIEmployeesProvider.d.ts → client-v2/workflow/nodes/employee/components/MessageInputs.d.ts} +2 -3
- package/dist/client-v2/workflow/nodes/employee/components/ModelOptions.d.ts +17 -0
- package/dist/{client/ai-employees/admin/datasource/components/basic/CollectionCascader.d.ts → client-v2/workflow/nodes/employee/components/SkillSettings.d.ts} +6 -3
- package/dist/client-v2/workflow/nodes/employee/components/StructuredOutput.d.ts +11 -0
- package/dist/client-v2/workflow/nodes/employee/components/UserInput.d.ts +18 -0
- package/dist/{client/ai-employees/AISettingsProvider.d.ts → client-v2/workflow/nodes/employee/components/WebSearchOptions.d.ts} +6 -8
- package/dist/client-v2/workflow/nodes/employee/index.d.ts +23 -0
- package/dist/client-v2/workflow/nodes/llm/components/LLMFieldset.d.ts +12 -0
- package/dist/{client/ai-employees/chatbox → client-v2/workflow/nodes/llm/components}/Messages.d.ts +2 -1
- package/dist/client-v2/workflow/nodes/llm/components/StructuredOutput.d.ts +11 -0
- package/dist/client-v2/workflow/nodes/llm/index.d.ts +30 -0
- package/dist/client-v2/workflow/register.d.ts +10 -0
- package/dist/client-v2/workflow/triggers/ai-employee/AIEmployeeTriggerConfig.d.ts +11 -0
- package/dist/client-v2/workflow/triggers/ai-employee/Parameters.d.ts +11 -0
- package/dist/client-v2/workflow/triggers/ai-employee/index.d.ts +25 -0
- package/dist/client-v2/workflow/types.d.ts +128 -0
- package/dist/common/ai-employee-validation.d.ts +15 -0
- package/dist/common/ai-employee-validation.js +61 -0
- package/dist/common/error-codes.d.ts +13 -0
- package/dist/common/error-codes.js +48 -0
- package/dist/common/frontend-tools.d.ts +26 -0
- package/dist/common/frontend-tools.js +57 -0
- package/dist/common/llm-service-models.d.ts +16 -0
- package/dist/common/llm-service-models.js +84 -0
- package/dist/externalVersion.js +20 -25
- package/dist/locale/en-US.json +116 -1
- package/dist/locale/zh-CN.json +116 -1
- package/dist/node_modules/@langchain/mistralai/package.json +1 -1
- package/dist/node_modules/@langchain/xai/package.json +1 -1
- package/dist/node_modules/fs-extra/package.json +1 -1
- package/dist/node_modules/jsonrepair/package.json +1 -1
- package/dist/node_modules/just-bash/package.json +1 -1
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/node_modules/openai/package.json +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/ai-employees/ai-conversations.d.ts +4 -1
- package/dist/server/ai-employees/ai-conversations.js +2 -0
- package/dist/server/ai-employees/ai-employee.d.ts +3 -1
- package/dist/server/ai-employees/ai-employee.js +63 -9
- package/dist/server/ai-employees/middleware/conversation.js +9 -2
- package/dist/server/ai-employees/prompts.d.ts +2 -1
- package/dist/server/ai-employees/prompts.js +8 -2
- package/dist/server/ai-employees/tool-call-sanitizer.d.ts +1 -0
- package/dist/server/ai-employees/tool-call-sanitizer.js +2 -1
- package/dist/server/ai-employees/utils.js +11 -5
- package/dist/server/attachments.d.ts +24 -0
- package/dist/server/attachments.js +204 -0
- package/dist/server/collections/ai-conversations.js +5 -0
- package/dist/server/collections/ai-usage-events.d.ts +10 -0
- package/dist/server/collections/ai-usage-events.js +183 -0
- package/dist/server/document-loader/cached.d.ts +1 -0
- package/dist/server/document-loader/cached.js +18 -9
- package/dist/server/document-loader/constants.js +1 -1
- package/dist/server/document-loader/loader.d.ts +0 -1
- package/dist/server/document-loader/loader.js +25 -8
- package/dist/server/document-loader/types.d.ts +7 -0
- package/dist/server/frontend-tools.d.ts +25 -0
- package/dist/server/frontend-tools.js +171 -0
- package/dist/server/llm-providers/anthropic.d.ts +2 -1
- package/dist/server/llm-providers/anthropic.js +1 -3
- package/dist/server/llm-providers/dashscope.d.ts +2 -1
- package/dist/server/llm-providers/dashscope.js +16 -1
- package/dist/server/llm-providers/deepseek.d.ts +2 -1
- package/dist/server/llm-providers/deepseek.js +33 -2
- package/dist/server/llm-providers/google-genai.d.ts +1 -1
- package/dist/server/llm-providers/google-genai.js +1 -5
- package/dist/server/llm-providers/kimi/provider.d.ts +2 -1
- package/dist/server/llm-providers/kimi/provider.js +22 -2
- package/dist/server/llm-providers/mistral.d.ts +36 -2
- package/dist/server/llm-providers/mistral.js +62 -2
- package/dist/server/llm-providers/openai/completions.d.ts +2 -1
- package/dist/server/llm-providers/openai/completions.js +17 -1
- package/dist/server/llm-providers/openai/responses.d.ts +2 -1
- package/dist/server/llm-providers/openai/responses.js +17 -1
- package/dist/server/llm-providers/orcarouter.d.ts +35 -0
- package/dist/server/llm-providers/orcarouter.js +155 -0
- package/dist/server/llm-providers/provider.d.ts +10 -2
- package/dist/server/llm-providers/provider.js +33 -4
- package/dist/server/manager/ai-chat-conversation.js +2 -0
- package/dist/server/manager/ai-context-datasource-manager.js +34 -7
- package/dist/server/manager/ai-manager.d.ts +2 -1
- package/dist/server/manager/ai-manager.js +4 -1
- package/dist/server/manager/ai-usage-events.d.ts +49 -0
- package/dist/server/manager/ai-usage-events.js +195 -0
- package/dist/server/manager/work-context-handler.js +10 -3
- package/dist/server/plugin.d.ts +1 -0
- package/dist/server/plugin.js +41 -0
- package/dist/server/resource/aiConversations.d.ts +2 -0
- package/dist/server/resource/aiConversations.js +77 -4
- package/dist/server/resource/aiEmployees.d.ts +2 -0
- package/dist/server/resource/aiEmployees.js +62 -0
- package/dist/server/resource/aiWorkflowTasks.js +9 -1
- package/dist/server/resource/llmServices.d.ts +11 -0
- package/dist/server/resource/llmServices.js +85 -0
- package/dist/server/types/knowledge-base.type.d.ts +6 -2
- package/dist/server/utils.d.ts +5 -2
- package/dist/server/utils.js +11 -19
- package/dist/server/workflow/nodes/employee/files.d.ts +3 -1
- package/dist/server/workflow/nodes/employee/files.js +31 -5
- package/dist/swagger/common.d.ts +143 -0
- package/dist/swagger/common.js +144 -0
- package/dist/swagger/employees.d.ts +301 -0
- package/dist/swagger/employees.js +131 -0
- package/dist/swagger/index.d.ts +1588 -0
- package/dist/swagger/index.js +62 -0
- package/dist/swagger/llm.d.ts +555 -0
- package/dist/swagger/llm.js +247 -0
- package/dist/swagger/schemas.d.ts +736 -0
- package/dist/swagger/schemas.js +381 -0
- package/package.json +5 -5
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/vector-store.md +0 -24
- package/dist/ai/docs/nocobase/data-sources/development/index.md +0 -6
- package/dist/client/119.c6bf8c6433167d81.js +0 -10
- package/dist/client/170.d98eacdc00d9d527.js +0 -10
- package/dist/client/228.b4b709f93b86b6b9.js +0 -10
- package/dist/client/280.003b9e9788599244.js +0 -10
- package/dist/client/290.0f7f441d8a94f03c.js +0 -10
- package/dist/client/331.d547c95410476a69.js +0 -10
- package/dist/client/406.15c09d98faa2ccf1.js +0 -10
- package/dist/client/428.5eb4f53ddbb6a3b8.js +0 -10
- package/dist/client/462.d172d0fe91519e35.js +0 -10
- package/dist/client/486.dcac8f3fcec19c33.js +0 -10
- package/dist/client/502.2b4a51e0a8122e52.js +0 -10
- package/dist/client/525.33a9c8ec28be4ec4.js +0 -10
- package/dist/client/559.9f97ebcdb0bd6231.js +0 -10
- package/dist/client/561.7ec804ef39ec7dcd.js +0 -10
- package/dist/client/580.35ba54ff91b7fe6d.js +0 -10
- package/dist/client/597.b0d64948d74cf6cb.js +0 -10
- package/dist/client/604.89c674f35b52b4ef.js +0 -10
- package/dist/client/614.aa766080f6b99aab.js +0 -10
- package/dist/client/646.d4483b4ff23da0a0.js +0 -10
- package/dist/client/687.224e569a99cae4bb.js +0 -10
- package/dist/client/699.57c0a1acb723202a.js +0 -10
- package/dist/client/711.92cd94681fde7e05.js +0 -10
- package/dist/client/758.a9741e81911e53c3.js +0 -10
- package/dist/client/768.5177bff46ae71a5b.js +0 -10
- package/dist/client/792.abb57765453bcbcc.js +0 -10
- package/dist/client/820.f72ef2462b61d812.js +0 -10
- package/dist/client/832.0cf69e3f43c320b2.js +0 -10
- package/dist/client/927.d95c74ebb8fd51c9.js +0 -10
- package/dist/client/ai-employees/1.x/selector/AISelectorProvider.d.ts +0 -33
- package/dist/client/ai-employees/ProfileCard.d.ts +0 -15
- package/dist/client/ai-employees/admin/ChatSettings.d.ts +0 -10
- package/dist/client/ai-employees/admin/DataSourceSettings.d.ts +0 -10
- package/dist/client/ai-employees/admin/Employees.d.ts +0 -10
- package/dist/client/ai-employees/admin/EnableSwitch.d.ts +0 -10
- package/dist/client/ai-employees/admin/InputsFormSettings.d.ts +0 -10
- package/dist/client/ai-employees/admin/KnowledgeBaseSettings.d.ts +0 -10
- package/dist/client/ai-employees/admin/ModelSettings.d.ts +0 -10
- package/dist/client/ai-employees/admin/ProfileSettings.d.ts +0 -12
- package/dist/client/ai-employees/admin/SkillSettings.d.ts +0 -19
- package/dist/client/ai-employees/admin/SystemPrompt.d.ts +0 -10
- package/dist/client/ai-employees/admin/ToolsSettings.d.ts +0 -17
- package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingForm.d.ts +0 -10
- package/dist/client/ai-employees/admin/datasource/components/DatasourceSettingGrid.d.ts +0 -10
- package/dist/client/ai-employees/admin/datasource/components/basic/FieldsTransfer.d.ts +0 -17
- package/dist/client/ai-employees/admin/datasource/components/basic/index.d.ts +0 -10
- package/dist/client/ai-employees/admin/datasource/components/form-steps/CollectionSetting.d.ts +0 -17
- package/dist/client/ai-employees/admin/datasource/components/form-steps/FieldsSetting.d.ts +0 -15
- package/dist/client/ai-employees/admin/datasource/components/form-steps/FilterSetting.d.ts +0 -17
- package/dist/client/ai-employees/admin/datasource/components/form-steps/Preview.d.ts +0 -13
- package/dist/client/ai-employees/admin/datasource/components/form-steps/SortSetting.d.ts +0 -15
- package/dist/client/ai-employees/admin/datasource/components/form-steps/index.d.ts +0 -13
- package/dist/client/ai-employees/admin/datasource/components/index.d.ts +0 -9
- package/dist/client/ai-employees/admin/datasource/context.d.ts +0 -17
- package/dist/client/ai-employees/admin/datasource/flow-models/index.d.ts +0 -9
- package/dist/client/ai-employees/admin/datasource/index.d.ts +0 -10
- package/dist/client/ai-employees/admin/hooks.d.ts +0 -39
- package/dist/client/ai-employees/admin/mcp/MCPSettings.d.ts +0 -10
- package/dist/client/ai-employees/admin/mcp/MCPToolsList.d.ts +0 -19
- package/dist/client/ai-employees/admin/mcp/context.d.ts +0 -15
- package/dist/client/ai-employees/admin/mcp/schemas.d.ts +0 -1314
- package/dist/client/ai-employees/ai-coding/CodeHistory.d.ts +0 -10
- package/dist/client/ai-employees/avatars.d.ts +0 -9
- package/dist/client/ai-employees/built-in/utils.d.ts +0 -15
- package/dist/client/ai-employees/business-report/tools/index.d.ts +0 -10
- package/dist/client/ai-employees/business-report/ui/report-utils.d.ts +0 -38
- package/dist/client/ai-employees/chart-generator/tools/index.d.ts +0 -10
- package/dist/client/ai-employees/chart-generator/ui/ECharts.d.ts +0 -13
- package/dist/client/ai-employees/chatbox/AIThinking.d.ts +0 -12
- package/dist/client/ai-employees/chatbox/Attachment.d.ts +0 -14
- package/dist/client/ai-employees/chatbox/AttachmentsHeader.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/ChatBox.d.ts +0 -12
- package/dist/client/ai-employees/chatbox/ContextItemsHeader.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/DebugPanel.d.ts +0 -16
- package/dist/client/ai-employees/chatbox/EditMessageHeader.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/HintMessageHeader.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/MessageRenderer.d.ts +0 -33
- package/dist/client/ai-employees/chatbox/Sender.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/SenderFooter.d.ts +0 -13
- package/dist/client/ai-employees/chatbox/SenderHeader.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/SenderPrefix.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/Upload.d.ts +0 -12
- package/dist/client/ai-employees/chatbox/VirtualList.d.ts +0 -28
- package/dist/client/ai-employees/chatbox/conversations/Conversations.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/conversations/ConversationsList.d.ts +0 -13
- package/dist/client/ai-employees/chatbox/conversations/WorkflowTasksList.d.ts +0 -13
- package/dist/client/ai-employees/chatbox/conversations/common.d.ts +0 -43
- package/dist/client/ai-employees/chatbox/conversations/index.d.ts +0 -9
- package/dist/client/ai-employees/chatbox/generative-ui/DefaultToolCard.d.ts +0 -16
- package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +0 -18
- package/dist/client/ai-employees/chatbox/hooks/useUploadFiles.d.ts +0 -12
- package/dist/client/ai-employees/chatbox/markdown/ECharts.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/markdown/Form.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/markdown/Generating.d.ts +0 -10
- package/dist/client/ai-employees/chatbox/markdown/Markdown.d.ts +0 -13
- package/dist/client/ai-employees/chatbox/roles.d.ts +0 -32
- package/dist/client/ai-employees/chatbox/stores/chat-box.d.ts +0 -9
- package/dist/client/ai-employees/chatbox/stores/chat-conversations.d.ts +0 -9
- package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +0 -9
- package/dist/client/ai-employees/chatbox/stores/chat-tools.d.ts +0 -51
- package/dist/client/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
- package/dist/client/ai-employees/chatbox/stores/workflow-tasks.d.ts +0 -45
- package/dist/client/ai-employees/chatbox/utils.d.ts +0 -41
- package/dist/client/ai-employees/context/classic-pages.d.ts +0 -10
- package/dist/client/ai-employees/data-modeling/Table.d.ts +0 -12
- package/dist/client/ai-employees/data-modeling/setup.d.ts +0 -10
- package/dist/client/ai-employees/data-modeling/tools/index.d.ts +0 -10
- package/dist/client/ai-employees/data-modeling/ui/useFieldInterfaceOptions.d.ts +0 -14
- package/dist/client/ai-employees/datasource/DatasourceList.d.ts +0 -17
- package/dist/client/ai-employees/datasource/index.d.ts +0 -9
- package/dist/client/ai-employees/flow/events/index.d.ts +0 -9
- package/dist/client/ai-employees/flow/index.d.ts +0 -36
- package/dist/client/ai-employees/flow/models/AIEmployeeActionModel.d.ts +0 -18
- package/dist/client/ai-employees/flow/models/AIEmployeeShortcutModel.d.ts +0 -30
- package/dist/client/ai-employees/shortcuts/ShortcutList.d.ts +0 -10
- package/dist/client/ai-employees/shortcuts/useShortcuts.d.ts +0 -13
- package/dist/client/ai-employees/stores/context-aware.d.ts +0 -19
- package/dist/client/ai-employees/sub-agents/tools/index.d.ts +0 -10
- package/dist/client/ai-employees/suggestions/tools/index.d.ts +0 -10
- package/dist/client/ai-employees/suggestions/ui/SuggestionsOptions.d.ts +0 -13
- package/dist/client/ai-employees/types.d.ts +0 -259
- package/dist/client/ai-employees/workflow-tasks/tools/index.d.ts +0 -10
- package/dist/client/ai-employees/workflow-tasks/ui/WorkflowTaskOutputCard.d.ts +0 -11
- package/dist/client/chat-settings/Messages.d.ts +0 -11
- package/dist/client/chat-settings/StructuredOutput.d.ts +0 -11
- package/dist/client/components/skill-settings.d.ts +0 -22
- package/dist/client/features/components.d.ts +0 -9
- package/dist/client/features/feature-manager.d.ts +0 -9
- package/dist/client/features/index.d.ts +0 -9
- package/dist/client/features/vector-database-provider.d.ts +0 -9
- package/dist/client/features/vector-store-provider.d.ts +0 -9
- package/dist/client/llm-providers/anthropic/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/anthropic/ProviderSettings.d.ts +0 -10
- package/dist/client/llm-providers/anthropic/index.d.ts +0 -10
- package/dist/client/llm-providers/components/Chat.d.ts +0 -10
- package/dist/client/llm-providers/components/ModelSelect.d.ts +0 -10
- package/dist/client/llm-providers/dashscope/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/dashscope/ProviderSettings.d.ts +0 -10
- package/dist/client/llm-providers/dashscope/index.d.ts +0 -10
- package/dist/client/llm-providers/deepseek/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/deepseek/index.d.ts +0 -10
- package/dist/client/llm-providers/google-genai/MessageRenderer.d.ts +0 -13
- package/dist/client/llm-providers/google-genai/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/google-genai/ProviderSettings.d.ts +0 -10
- package/dist/client/llm-providers/google-genai/index.d.ts +0 -10
- package/dist/client/llm-providers/kimi/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/kimi/index.d.ts +0 -10
- package/dist/client/llm-providers/mimo/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/mimo/index.d.ts +0 -10
- package/dist/client/llm-providers/mistral/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/mistral/index.d.ts +0 -10
- package/dist/client/llm-providers/ollama/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/ollama/ProviderSettings.d.ts +0 -10
- package/dist/client/llm-providers/ollama/index.d.ts +0 -10
- package/dist/client/llm-providers/openai/completions/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/openai/completions/index.d.ts +0 -10
- package/dist/client/llm-providers/openai/components/ProviderSettings.d.ts +0 -10
- package/dist/client/llm-providers/openai/responses/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/openai/responses/index.d.ts +0 -10
- package/dist/client/llm-providers/tongyi/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/tongyi/ProviderSettings.d.ts +0 -10
- package/dist/client/llm-providers/tongyi/index.d.ts +0 -10
- package/dist/client/llm-providers/xai/ModelSettings.d.ts +0 -10
- package/dist/client/llm-providers/xai/index.d.ts +0 -10
- package/dist/client/llm-services/LLMServices.d.ts +0 -13
- package/dist/client/llm-services/component/DefaultModelSelect.d.ts +0 -10
- package/dist/client/llm-services/component/EnabledModelsSelect.d.ts +0 -23
- package/dist/client/llm-services/component/LLMTestFlight.d.ts +0 -10
- package/dist/client/llm-services/component/ModelOptionsSettings.d.ts +0 -10
- package/dist/client/llm-services/component/UnifiedModelSettings.d.ts +0 -10
- package/dist/client/llm-services/hooks/useLLMServiceCatalog.d.ts +0 -18
- package/dist/client/llm-services/llm-providers.d.ts +0 -27
- package/dist/client/llm-services/utils.d.ts +0 -35
- package/dist/client/manager/ai-feature-manager.d.ts +0 -9
- package/dist/client/manager/ai-manager.d.ts +0 -35
- package/dist/client/repositories/AIConfigRepository.d.ts +0 -60
- package/dist/client/repositories/hooks/useAIConfigRepository.d.ts +0 -10
- package/dist/client/schemas/llms.d.ts +0 -347
- package/dist/client/workflow/nodes/employee/components/AIEmployeeSelect.d.ts +0 -10
- package/dist/client/workflow/nodes/employee/components/assigness.d.ts +0 -11
- package/dist/client/workflow/nodes/employee/components/file-inputs.d.ts +0 -10
- package/dist/client/workflow/nodes/employee/components/message-inputs.d.ts +0 -12
- package/dist/client/workflow/nodes/employee/components/model-options.d.ts +0 -10
- package/dist/client/workflow/nodes/employee/components/structured-output.d.ts +0 -10
- package/dist/client/workflow/nodes/employee/components/users-select.d.ts +0 -15
- package/dist/client/workflow/nodes/employee/components/web-search-options.d.ts +0 -10
- package/dist/client/workflow/nodes/employee/configuration.d.ts +0 -12
- package/dist/client/workflow/nodes/employee/flow-models/feedback.d.ts +0 -14
- package/dist/client/workflow/nodes/llm/ModelSettings.d.ts +0 -11
- package/dist/client/workflow/triggers/ai-employee/Parameters.d.ts +0 -13
- package/dist/client-v2/ai-employees/chatbox/stores/create-selectors.d.ts +0 -18
- /package/dist/{client → client-v2}/ai-employees/AISelection.d.ts +0 -0
- /package/dist/{client → client-v2}/ai-employees/AISelectionControl.d.ts +0 -0
- /package/dist/{client → client-v2}/ai-employees/ai-coding/prompts.d.ts +0 -0
- /package/dist/{client → client-v2}/ai-employees/ai-coding/setup.d.ts +0 -0
- /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/ChatButton.d.ts +0 -0
- /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/SearchSwitch.d.ts +0 -0
- /package/dist/{client/ai-employees/chatbox/generative-ui → client-v2/ai-employees/chatbox/components}/ToolModal.d.ts +0 -0
- /package/dist/{client/ai-employees/chatbox → client-v2/ai-employees/chatbox/components}/UserPrompt.d.ts +0 -0
- /package/dist/{client → client-v2}/ai-employees/chatbox/hooks/useLoadMoreObserver.d.ts +0 -0
- /package/dist/client-v2/ai-employees/{chatbox/stores → stores}/global-store.d.ts +0 -0
- /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/AIEmployeeShortcutListModel.d.ts +0 -0
- /package/dist/{client/ai-employees/flow/models → client-v2/models/ai-employees}/index.d.ts +0 -0
- /package/dist/{client/ai-employees/flow/events/ai-context-selection.d.ts → client-v2/workflow/components/index.d.ts} +0 -0
|
@@ -9,11 +9,13 @@
|
|
|
9
9
|
import { Model, Transaction } from '@nocobase/database';
|
|
10
10
|
import PluginAIServer from '../plugin';
|
|
11
11
|
import { AIMessage, SubAgentConversationMetadata, UserDecision } from '../types';
|
|
12
|
+
import type { FrontendToolManifest } from '../../common/frontend-tools';
|
|
12
13
|
export type AIConversationsOptions = {
|
|
13
14
|
systemMessage?: unknown;
|
|
14
15
|
skillSettings?: unknown;
|
|
15
16
|
conversationSettings?: unknown;
|
|
16
17
|
modelSettings?: unknown;
|
|
18
|
+
frontendTools?: FrontendToolManifest[];
|
|
17
19
|
[key: string]: unknown;
|
|
18
20
|
};
|
|
19
21
|
export type AIConversationFilterParams = {
|
|
@@ -29,6 +31,7 @@ export type CreateAIConversationParams = {
|
|
|
29
31
|
title?: string;
|
|
30
32
|
options?: AIConversationsOptions;
|
|
31
33
|
from?: 'main-agent' | 'sub-agent';
|
|
34
|
+
scope?: string;
|
|
32
35
|
transaction?: Transaction;
|
|
33
36
|
category?: 'chat' | 'task';
|
|
34
37
|
};
|
|
@@ -55,7 +58,7 @@ export declare const registerAIConversationReadNotification: (plugin: PluginAISe
|
|
|
55
58
|
export declare class AIConversationsManager {
|
|
56
59
|
protected plugin: PluginAIServer;
|
|
57
60
|
constructor(plugin: PluginAIServer);
|
|
58
|
-
create({ userId, aiEmployee, title, options, from, transaction, category, }: CreateAIConversationParams): Promise<any>;
|
|
61
|
+
create({ userId, aiEmployee, title, options, from, scope, transaction, category, }: CreateAIConversationParams): Promise<any>;
|
|
59
62
|
update({ userId, sessionId, title, options: inputOptions }: UpdateAIConversationParams): Promise<any>;
|
|
60
63
|
getConversation({ sessionId, userId }: {
|
|
61
64
|
sessionId: string;
|
|
@@ -66,6 +66,7 @@ class AIConversationsManager {
|
|
|
66
66
|
title,
|
|
67
67
|
options = {},
|
|
68
68
|
from = "main-agent",
|
|
69
|
+
scope,
|
|
69
70
|
transaction,
|
|
70
71
|
category = "chat"
|
|
71
72
|
}) {
|
|
@@ -77,6 +78,7 @@ class AIConversationsManager {
|
|
|
77
78
|
options,
|
|
78
79
|
thread: 1,
|
|
79
80
|
from,
|
|
81
|
+
...scope !== void 0 ? { scope } : {},
|
|
80
82
|
category
|
|
81
83
|
},
|
|
82
84
|
transaction
|
|
@@ -36,6 +36,7 @@ export declare class AIEmployee {
|
|
|
36
36
|
employee: Model;
|
|
37
37
|
aiChatConversation: AIChatConversation;
|
|
38
38
|
skillSettings?: Record<string, any>;
|
|
39
|
+
userMessageCount: number;
|
|
39
40
|
private plugin;
|
|
40
41
|
private db;
|
|
41
42
|
private ctx;
|
|
@@ -117,7 +118,7 @@ export declare class AIEmployee {
|
|
|
117
118
|
initToolCall(transaction: Transaction, messageId: string, toolCalls: {
|
|
118
119
|
id: string;
|
|
119
120
|
name: string;
|
|
120
|
-
args:
|
|
121
|
+
args: unknown;
|
|
121
122
|
}[]): Promise<Model<AIToolMessage>[]>;
|
|
122
123
|
updateToolCallInterrupted(sessionId: string, messageId: string, toolCallId: string, interruptId: string, interruptAction: {
|
|
123
124
|
order: number;
|
|
@@ -143,6 +144,7 @@ export declare class AIEmployee {
|
|
|
143
144
|
removeAbortController(): void;
|
|
144
145
|
shouldInterruptToolCall(tools: ToolsEntry): boolean;
|
|
145
146
|
isAutoCall(tools: ToolsEntry): boolean;
|
|
147
|
+
private normalizeMessageAttachments;
|
|
146
148
|
private formatMessages;
|
|
147
149
|
private getToolCallMap;
|
|
148
150
|
private toInterruptActions;
|
|
@@ -55,12 +55,16 @@ var import_utils2 = require("./utils");
|
|
|
55
55
|
var import_base = require("@langchain/core/callbacks/base");
|
|
56
56
|
var import_shared = require("../../ai/tools/sub-agents/shared");
|
|
57
57
|
var import_tool_call_sanitizer = require("./tool-call-sanitizer");
|
|
58
|
+
var import_attachments = require("../attachments");
|
|
59
|
+
var import_frontend_tools = require("../../common/frontend-tools");
|
|
60
|
+
var import_frontend_tools2 = require("../frontend-tools");
|
|
58
61
|
class AIEmployee {
|
|
59
62
|
sessionId;
|
|
60
63
|
from = "main-agent";
|
|
61
64
|
employee;
|
|
62
65
|
aiChatConversation;
|
|
63
66
|
skillSettings;
|
|
67
|
+
userMessageCount = 0;
|
|
64
68
|
plugin;
|
|
65
69
|
db;
|
|
66
70
|
ctx;
|
|
@@ -141,7 +145,12 @@ class AIEmployee {
|
|
|
141
145
|
}
|
|
142
146
|
// === Chat flow ===
|
|
143
147
|
buildState(messages) {
|
|
148
|
+
const toolCallMessage = messages.findLast((message) => {
|
|
149
|
+
var _a;
|
|
150
|
+
return (_a = message.toolCalls) == null ? void 0 : _a.length;
|
|
151
|
+
});
|
|
144
152
|
return {
|
|
153
|
+
messageId: toolCallMessage == null ? void 0 : toolCallMessage.messageId,
|
|
145
154
|
lastMessageIndex: {
|
|
146
155
|
lastHumanMessageIndex: messages.filter((m) => m.role === "user").length,
|
|
147
156
|
lastAIMessageIndex: messages.filter((m) => m.role === this.employee.username).length,
|
|
@@ -198,6 +207,7 @@ class AIEmployee {
|
|
|
198
207
|
const { provider, model, service } = await this.plugin.aiManager.getLLMService({
|
|
199
208
|
...this.model
|
|
200
209
|
});
|
|
210
|
+
this.userMessageCount = (userMessages ?? []).filter((message) => message.role === "user").length;
|
|
201
211
|
const { historyMessages, tools, resolvedTools, middleware, config, state } = await this.initSession({
|
|
202
212
|
messageId,
|
|
203
213
|
provider,
|
|
@@ -746,7 +756,8 @@ ${addSystemPrompt.map((it) => it.content).join("\n")}`;
|
|
|
746
756
|
},
|
|
747
757
|
knowledgeBase,
|
|
748
758
|
availableSkills,
|
|
749
|
-
availableAIEmployees
|
|
759
|
+
availableAIEmployees,
|
|
760
|
+
webSearch: this.webSearch
|
|
750
761
|
});
|
|
751
762
|
const { important } = ((_g = (_f = this.ctx.action) == null ? void 0 : _f.params) == null ? void 0 : _g.values) || {};
|
|
752
763
|
if (important === "GraphRecursionError") {
|
|
@@ -762,11 +773,12 @@ If information is missing, clearly state it in the summary.</Important>`;
|
|
|
762
773
|
async initToolCall(transaction, messageId, toolCalls) {
|
|
763
774
|
const nowTime = /* @__PURE__ */ new Date();
|
|
764
775
|
const toolMap = await this.getToolsMap();
|
|
776
|
+
const currentFrontendTools = toolCalls.some((toolCall) => toolCall.name === import_frontend_tools.EXECUTE_FRONTEND_TOOL_NAME) ? await (0, import_frontend_tools2.listCurrentFrontendTools)(this.ctx, this.sessionId) : [];
|
|
765
777
|
return await this.aiToolMessagesRepo.create({
|
|
766
778
|
values: toolCalls.map((toolCall) => {
|
|
767
779
|
const toolsExisted = toolMap.has(toolCall.name);
|
|
768
780
|
const tools = toolMap.get(toolCall.name);
|
|
769
|
-
const auto = this.isAutoCall(tools);
|
|
781
|
+
const auto = toolCall.name === import_frontend_tools.EXECUTE_FRONTEND_TOOL_NAME ? toolsExisted && (0, import_frontend_tools2.shouldAutoExecuteFrontendTool)(currentFrontendTools, toolCall.args) : this.isAutoCall(tools);
|
|
770
782
|
return {
|
|
771
783
|
id: this.plugin.snowflake.generate(),
|
|
772
784
|
sessionId: this.sessionId,
|
|
@@ -1019,15 +1031,43 @@ If information is missing, clearly state it in the summary.</Important>`;
|
|
|
1019
1031
|
const presetTools = employeeTools.find((s) => s.name === tools.definition.name);
|
|
1020
1032
|
return presetTools ? presetTools.autoCall : isAutoCall;
|
|
1021
1033
|
}
|
|
1034
|
+
async normalizeMessageAttachments(messages) {
|
|
1035
|
+
const attachments = messages.filter((message) => Array.isArray(message.attachments)).flatMap((message) => message.attachments);
|
|
1036
|
+
if (!attachments.length) {
|
|
1037
|
+
return messages;
|
|
1038
|
+
}
|
|
1039
|
+
const attachmentsByLookup = await (0, import_attachments.findMessageAttachments)(this.ctx, attachments);
|
|
1040
|
+
return messages.map((message) => {
|
|
1041
|
+
if (!Array.isArray(message.attachments) || !message.attachments.length) {
|
|
1042
|
+
return message;
|
|
1043
|
+
}
|
|
1044
|
+
return {
|
|
1045
|
+
...message,
|
|
1046
|
+
attachments: message.attachments.flatMap((attachment) => {
|
|
1047
|
+
const source = (0, import_attachments.getAttachmentSource)(attachment);
|
|
1048
|
+
if (!source || (0, import_attachments.shouldSkipAttachmentSourceLookup)(source)) {
|
|
1049
|
+
return [attachment];
|
|
1050
|
+
}
|
|
1051
|
+
const lookupKey = (0, import_attachments.getMessageAttachmentLookupKey)(attachment);
|
|
1052
|
+
const verifiedAttachment = lookupKey ? attachmentsByLookup.get(lookupKey) : null;
|
|
1053
|
+
if (!verifiedAttachment) {
|
|
1054
|
+
return [];
|
|
1055
|
+
}
|
|
1056
|
+
return [{ ...verifiedAttachment, source }];
|
|
1057
|
+
})
|
|
1058
|
+
};
|
|
1059
|
+
});
|
|
1060
|
+
}
|
|
1022
1061
|
async formatMessages({ messages, provider }) {
|
|
1023
1062
|
var _a, _b;
|
|
1024
1063
|
const formattedMessages = [];
|
|
1025
1064
|
const workContextHandler = this.plugin.workContextHandler;
|
|
1065
|
+
const normalizedMessages = await this.normalizeMessageAttachments(messages);
|
|
1026
1066
|
const truncate = (text, maxLen = 5e4) => {
|
|
1027
1067
|
if (!text || text.length <= maxLen) return text;
|
|
1028
1068
|
return text.slice(0, maxLen) + "\n...[truncated]";
|
|
1029
1069
|
};
|
|
1030
|
-
for (const msg of
|
|
1070
|
+
for (const msg of normalizedMessages) {
|
|
1031
1071
|
const attachments = msg.attachments;
|
|
1032
1072
|
const workContext = msg.workContext;
|
|
1033
1073
|
const userContent = msg.content;
|
|
@@ -1155,7 +1195,12 @@ If information is missing, clearly state it in the summary.</Important>`;
|
|
|
1155
1195
|
if (!this.areToolsEnabled()) {
|
|
1156
1196
|
return [];
|
|
1157
1197
|
}
|
|
1198
|
+
const currentFrontendTools = await (0, import_frontend_tools2.listCurrentFrontendTools)(this.ctx, this.sessionId);
|
|
1158
1199
|
const tools = await this.listTools({ scope: "GENERAL" });
|
|
1200
|
+
const getSkill = await this.toolsManager.getTools(import_ai.SYSTEM_TOOLS.GET_SKILL, { ctx: this.ctx });
|
|
1201
|
+
if (getSkill) {
|
|
1202
|
+
tools.push(getSkill);
|
|
1203
|
+
}
|
|
1159
1204
|
if (this.webSearch === true) {
|
|
1160
1205
|
const subAgentWebSearch = await this.toolsManager.getTools(import_ai.SYSTEM_TOOLS.WEB_SEARCH, { ctx: this.ctx });
|
|
1161
1206
|
tools.push(subAgentWebSearch);
|
|
@@ -1182,20 +1227,26 @@ If information is missing, clearly state it in the summary.</Important>`;
|
|
|
1182
1227
|
}
|
|
1183
1228
|
tools.push(tool);
|
|
1184
1229
|
}
|
|
1185
|
-
const systemTools = (0, import_ai.listSystemTools)();
|
|
1230
|
+
const systemTools = [...(0, import_ai.listSystemTools)(), import_frontend_tools.LOAD_FRONTEND_TOOL_NAME, import_frontend_tools.EXECUTE_FRONTEND_TOOL_NAME];
|
|
1186
1231
|
if (!this.skillSettings) {
|
|
1187
|
-
return tools;
|
|
1232
|
+
return (0, import_frontend_tools2.prepareToolsForFrontendConversation)(tools, currentFrontendTools);
|
|
1188
1233
|
} else if (!this.skillSettings.toolsVersion) {
|
|
1189
1234
|
const toolFilter = this.skillSettings.tools ?? [];
|
|
1190
|
-
return
|
|
1191
|
-
|
|
1235
|
+
return (0, import_frontend_tools2.prepareToolsForFrontendConversation)(
|
|
1236
|
+
tools.filter(
|
|
1237
|
+
(t) => toolFilter.length === 0 || systemTools.includes(t.definition.name) || toolFilter.includes(t.definition.name)
|
|
1238
|
+
),
|
|
1239
|
+
currentFrontendTools
|
|
1192
1240
|
);
|
|
1193
1241
|
} else {
|
|
1194
1242
|
const toolFilter = this.skillSettings.tools;
|
|
1195
1243
|
if (import_lodash.default.isArray(toolFilter)) {
|
|
1196
|
-
return
|
|
1244
|
+
return (0, import_frontend_tools2.prepareToolsForFrontendConversation)(
|
|
1245
|
+
tools.filter((t) => systemTools.includes(t.definition.name) || toolFilter.includes(t.definition.name)),
|
|
1246
|
+
currentFrontendTools
|
|
1247
|
+
);
|
|
1197
1248
|
} else {
|
|
1198
|
-
return tools;
|
|
1249
|
+
return (0, import_frontend_tools2.prepareToolsForFrontendConversation)(tools, currentFrontendTools);
|
|
1199
1250
|
}
|
|
1200
1251
|
}
|
|
1201
1252
|
}
|
|
@@ -1237,6 +1288,9 @@ If information is missing, clearly state it in the summary.</Important>`;
|
|
|
1237
1288
|
}
|
|
1238
1289
|
const baseTools = await this.getAIEmployeeTools();
|
|
1239
1290
|
const toolMap = await this.getToolsMap();
|
|
1291
|
+
for (const tool of baseTools) {
|
|
1292
|
+
toolMap.set(tool.definition.name, tool);
|
|
1293
|
+
}
|
|
1240
1294
|
const availableSkills = await this.getAvailableSkills();
|
|
1241
1295
|
const skillOwnedToolNames = new Set(availableSkills.flatMap((it) => it.tools ?? []));
|
|
1242
1296
|
const baseToolNames = new Set(
|
|
@@ -98,8 +98,9 @@ const conversationMiddleware = (aiEmployee, options) => {
|
|
|
98
98
|
})
|
|
99
99
|
}),
|
|
100
100
|
beforeAgent: async (state) => {
|
|
101
|
-
const
|
|
102
|
-
const
|
|
101
|
+
const humanMessages = state.messages.filter((x) => x.type === "human");
|
|
102
|
+
const currentHumanMessageIndex = humanMessages.length;
|
|
103
|
+
const userMessages = (aiEmployee.userMessageCount ? humanMessages.slice(-aiEmployee.userMessageCount) : []).map((x) => x).map(convertHumanMessage);
|
|
103
104
|
await aiEmployee.aiChatConversation.withTransaction(async (conversation, transaction) => {
|
|
104
105
|
if (agentThread) {
|
|
105
106
|
await aiEmployee.updateThread(transaction, agentThread);
|
|
@@ -111,6 +112,12 @@ const conversationMiddleware = (aiEmployee, options) => {
|
|
|
111
112
|
await conversation.addMessages(userMessages);
|
|
112
113
|
}
|
|
113
114
|
});
|
|
115
|
+
return {
|
|
116
|
+
lastMessageIndex: {
|
|
117
|
+
...state.lastMessageIndex,
|
|
118
|
+
lastHumanMessageIndex: currentHumanMessageIndex
|
|
119
|
+
}
|
|
120
|
+
};
|
|
114
121
|
},
|
|
115
122
|
afterAgent: async () => {
|
|
116
123
|
aiEmployee.removeAbortController();
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
|
-
export declare function getSystemPrompt({ aiEmployee, personal, task, environment, knowledgeBase, availableSkills, availableAIEmployees, }: {
|
|
9
|
+
export declare function getSystemPrompt({ aiEmployee, personal, task, environment, knowledgeBase, availableSkills, availableAIEmployees, webSearch, }: {
|
|
10
10
|
aiEmployee: {
|
|
11
11
|
nickname: string;
|
|
12
12
|
about: string;
|
|
@@ -23,6 +23,7 @@ export declare function getSystemPrompt({ aiEmployee, personal, task, environmen
|
|
|
23
23
|
timezone?: string;
|
|
24
24
|
};
|
|
25
25
|
knowledgeBase?: string;
|
|
26
|
+
webSearch?: boolean;
|
|
26
27
|
availableSkills?: {
|
|
27
28
|
name: string;
|
|
28
29
|
description: string;
|
|
@@ -36,7 +36,8 @@ function getSystemPrompt({
|
|
|
36
36
|
environment,
|
|
37
37
|
knowledgeBase,
|
|
38
38
|
availableSkills,
|
|
39
|
-
availableAIEmployees
|
|
39
|
+
availableAIEmployees,
|
|
40
|
+
webSearch
|
|
40
41
|
}) {
|
|
41
42
|
const getDatabaseQuotingRules = () => {
|
|
42
43
|
const quotingMap = {
|
|
@@ -52,6 +53,11 @@ function getSystemPrompt({
|
|
|
52
53
|
};
|
|
53
54
|
const quotingRules = getDatabaseQuotingRules();
|
|
54
55
|
const isUnderscored = process.env.DB_UNDERSCORED === "true";
|
|
56
|
+
const webSearchInstructions = webSearch === true ? `
|
|
57
|
+
- When using web search, batch all independent search queries needed for this turn into one tool call whenever possible so they can run in parallel.
|
|
58
|
+
- Do not make repeated web search calls with the same or similar queries in the same turn.
|
|
59
|
+
- After receiving usable web search results, synthesize an answer from those results instead of searching again.
|
|
60
|
+
- Search again only when a critical fact is still missing and the new query is materially different from previous queries.` : "";
|
|
55
61
|
return `You are **${aiEmployee.nickname}**, an AI employee working in **NocoBase**, the leading no-code platform.
|
|
56
62
|
|
|
57
63
|
You assist developers in building enterprise management systems (CRM, ERP, OA, etc.) and help end users complete business tasks.
|
|
@@ -114,7 +120,7 @@ This prompt uses a structured tag system to organize your operational framework:
|
|
|
114
120
|
5. **Tool Integration**
|
|
115
121
|
- Utilize system-provided tools to enhance response quality
|
|
116
122
|
- **NEVER refer to tool names when speaking to the USER.** Instead, just say what the tool is doing in natural language.
|
|
117
|
-
- If you need additional information that you can get via tool calls, prefer that over asking the user
|
|
123
|
+
- If you need additional information that you can get via tool calls, prefer that over asking the user.${webSearchInstructions}
|
|
118
124
|
</global>
|
|
119
125
|
|
|
120
126
|
<ai_employee>
|
|
@@ -20,6 +20,7 @@ type SanitizeAdditionalKwargsOptions = {
|
|
|
20
20
|
type SanitizeAdditionalKwargsResult = {
|
|
21
21
|
changed: boolean;
|
|
22
22
|
additionalKwargs?: AdditionalKwargs;
|
|
23
|
+
malformedToolCalls?: unknown[];
|
|
23
24
|
};
|
|
24
25
|
export declare const sanitizeAdditionalKwargsForToolCalls: (additionalKwargs: AdditionalKwargs | undefined, parsedToolCalls?: unknown[] | null, options?: SanitizeAdditionalKwargsOptions) => SanitizeAdditionalKwargsResult;
|
|
25
26
|
export declare const sanitizeLangChainAIMessage: (message: AIMessage, options?: SanitizeAdditionalKwargsOptions) => AIMessage<import("@langchain/core/dist/messages/message").MessageStructure<import("@langchain/core/dist/messages/message").MessageToolSet>>;
|
|
@@ -65,7 +65,8 @@ const sanitizeAdditionalKwargsForToolCalls = (additionalKwargs, parsedToolCalls,
|
|
|
65
65
|
delete sanitized.tool_calls;
|
|
66
66
|
return {
|
|
67
67
|
changed: true,
|
|
68
|
-
additionalKwargs: Object.keys(sanitized).length > 0 ? sanitized : void 0
|
|
68
|
+
additionalKwargs: Object.keys(sanitized).length > 0 ? sanitized : void 0,
|
|
69
|
+
malformedToolCalls: rawToolCalls
|
|
69
70
|
};
|
|
70
71
|
};
|
|
71
72
|
const sanitizeLangChainAIMessage = (message, options = {}) => {
|
|
@@ -40,7 +40,7 @@ const convertAIMessage = ({
|
|
|
40
40
|
model,
|
|
41
41
|
aiMessage
|
|
42
42
|
}) => {
|
|
43
|
-
var _a;
|
|
43
|
+
var _a, _b;
|
|
44
44
|
const message = aiMessage.content;
|
|
45
45
|
const toolCalls = aiMessage.tool_calls;
|
|
46
46
|
const tools = (_a = aiEmployee.skillSettings) == null ? void 0 : _a.tools;
|
|
@@ -91,20 +91,26 @@ const convertAIMessage = ({
|
|
|
91
91
|
if (aiMessage.response_metadata) {
|
|
92
92
|
values.metadata.response_metadata = aiMessage.response_metadata;
|
|
93
93
|
}
|
|
94
|
-
const
|
|
94
|
+
const sanitizedToolCalls = (0, import_tool_call_sanitizer.sanitizeAdditionalKwargsForToolCalls)(aiMessage.additional_kwargs, toolCalls, {
|
|
95
95
|
onDiscard: (info) => {
|
|
96
|
-
var _a2,
|
|
97
|
-
(
|
|
96
|
+
var _a2, _b2;
|
|
97
|
+
(_b2 = aiEmployee.logger) == null ? void 0 : _b2.warn("Discard malformed raw tool calls from AI message", {
|
|
98
98
|
phase: "convertAIMessage",
|
|
99
99
|
messageId: aiMessage.id,
|
|
100
100
|
invalidToolCallCount: ((_a2 = aiMessage.invalid_tool_calls) == null ? void 0 : _a2.length) ?? 0,
|
|
101
101
|
...info
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
|
-
})
|
|
104
|
+
});
|
|
105
|
+
const additionalKwargs = sanitizedToolCalls.additionalKwargs;
|
|
105
106
|
if (additionalKwargs) {
|
|
106
107
|
values.metadata.additional_kwargs = additionalKwargs;
|
|
107
108
|
}
|
|
109
|
+
if ((_b = sanitizedToolCalls.malformedToolCalls) == null ? void 0 : _b.length) {
|
|
110
|
+
values.metadata.diagnostics = {
|
|
111
|
+
malformedToolCalls: sanitizedToolCalls.malformedToolCalls
|
|
112
|
+
};
|
|
113
|
+
}
|
|
108
114
|
providerInstance.reshapeAIMessage({ aiMessage, values });
|
|
109
115
|
return values;
|
|
110
116
|
};
|
|
@@ -0,0 +1,24 @@
|
|
|
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 type { Context } from '@nocobase/actions';
|
|
10
|
+
import type { AttachmentModel } from '@nocobase/plugin-file-manager';
|
|
11
|
+
export type AttachmentId = string | number;
|
|
12
|
+
export type AttachmentSource = {
|
|
13
|
+
dataSourceKey?: string;
|
|
14
|
+
collectionName?: string;
|
|
15
|
+
field?: string;
|
|
16
|
+
documentCache?: boolean;
|
|
17
|
+
trustworthy?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare function appendAIFileAttachmentSource(body: unknown): void;
|
|
20
|
+
export declare function getAttachmentId(attachment: unknown): AttachmentId | null;
|
|
21
|
+
export declare function shouldSkipAttachmentSourceLookup(source: AttachmentSource | null): boolean;
|
|
22
|
+
export declare function getAttachmentSource(attachment: unknown): AttachmentSource | null;
|
|
23
|
+
export declare function findMessageAttachments(ctx: Context, attachments: unknown[]): Promise<Map<string, AttachmentModel>>;
|
|
24
|
+
export declare function getMessageAttachmentLookupKey(attachment: unknown): string;
|
|
@@ -0,0 +1,204 @@
|
|
|
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 attachments_exports = {};
|
|
28
|
+
__export(attachments_exports, {
|
|
29
|
+
appendAIFileAttachmentSource: () => appendAIFileAttachmentSource,
|
|
30
|
+
findMessageAttachments: () => findMessageAttachments,
|
|
31
|
+
getAttachmentId: () => getAttachmentId,
|
|
32
|
+
getAttachmentSource: () => getAttachmentSource,
|
|
33
|
+
getMessageAttachmentLookupKey: () => getMessageAttachmentLookupKey,
|
|
34
|
+
shouldSkipAttachmentSourceLookup: () => shouldSkipAttachmentSourceLookup
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(attachments_exports);
|
|
37
|
+
const AI_FILES_ATTACHMENT_SOURCE = {
|
|
38
|
+
dataSourceKey: "main",
|
|
39
|
+
collectionName: "aiFiles"
|
|
40
|
+
};
|
|
41
|
+
function isRecord(value) {
|
|
42
|
+
return Boolean(value && typeof value === "object" && !Array.isArray(value));
|
|
43
|
+
}
|
|
44
|
+
function appendSourceToAttachmentRecord(record) {
|
|
45
|
+
if (!isRecord(record)) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const meta = {
|
|
49
|
+
...isRecord(record.meta) ? record.meta : {},
|
|
50
|
+
source: AI_FILES_ATTACHMENT_SOURCE
|
|
51
|
+
};
|
|
52
|
+
if (typeof record.set === "function") {
|
|
53
|
+
const model = record;
|
|
54
|
+
model.set("meta", meta);
|
|
55
|
+
model.dataValues.meta = meta;
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
record.meta = meta;
|
|
59
|
+
}
|
|
60
|
+
function appendAIFileAttachmentSource(body) {
|
|
61
|
+
if (!isRecord(body)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (body.data) {
|
|
65
|
+
appendSourceToAttachmentRecord(body.data);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
appendSourceToAttachmentRecord(body);
|
|
69
|
+
}
|
|
70
|
+
function getAttachmentId(attachment) {
|
|
71
|
+
if (!isRecord(attachment)) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const id = attachment.id ?? attachment.filterByTk;
|
|
75
|
+
if (typeof id === "string" || typeof id === "number") {
|
|
76
|
+
return id;
|
|
77
|
+
}
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
function shouldSkipAttachmentSourceLookup(source) {
|
|
81
|
+
return (source == null ? void 0 : source.trustworthy) === true;
|
|
82
|
+
}
|
|
83
|
+
function getAttachmentSource(attachment) {
|
|
84
|
+
if (!isRecord(attachment) || !isRecord(attachment.source)) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
const { dataSourceKey, collectionName, field, documentCache, trustworthy } = attachment.source;
|
|
88
|
+
const source = {
|
|
89
|
+
dataSourceKey: typeof dataSourceKey === "string" && dataSourceKey ? dataSourceKey : "main",
|
|
90
|
+
...typeof collectionName === "string" && collectionName ? { collectionName } : {},
|
|
91
|
+
...typeof field === "string" ? { field } : {},
|
|
92
|
+
...typeof documentCache === "boolean" ? { documentCache } : {},
|
|
93
|
+
...trustworthy === true ? { trustworthy } : {}
|
|
94
|
+
};
|
|
95
|
+
if (!source.trustworthy && !source.collectionName) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
return source;
|
|
99
|
+
}
|
|
100
|
+
function getSourceDatabase(ctx, dataSourceKey) {
|
|
101
|
+
var _a, _b, _c;
|
|
102
|
+
if (!dataSourceKey || dataSourceKey === "main") {
|
|
103
|
+
return ctx.db;
|
|
104
|
+
}
|
|
105
|
+
const dataSource = (_b = (_a = ctx.app.dataSourceManager) == null ? void 0 : _a.dataSources) == null ? void 0 : _b.get(dataSourceKey);
|
|
106
|
+
return ((_c = dataSource == null ? void 0 : dataSource.collectionManager) == null ? void 0 : _c.db) ?? null;
|
|
107
|
+
}
|
|
108
|
+
function getLookupKey(lookup) {
|
|
109
|
+
const dataSourceKey = lookup.source.dataSourceKey || "main";
|
|
110
|
+
const collectionName = lookup.source.collectionName;
|
|
111
|
+
return `${dataSourceKey}:${collectionName}:${lookup.id}`;
|
|
112
|
+
}
|
|
113
|
+
function isValidFileCollectionSource(db, lookup) {
|
|
114
|
+
var _a, _b, _c;
|
|
115
|
+
const collectionName = lookup.source.collectionName;
|
|
116
|
+
const collection = db.getCollection(collectionName);
|
|
117
|
+
if (((_a = collection == null ? void 0 : collection.options) == null ? void 0 : _a.template) !== "file") {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
if (collectionName === "aiFiles") {
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
if (!lookup.source.field) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
return ((_c = (_b = db.getFieldByPath(lookup.source.field)) == null ? void 0 : _b.options) == null ? void 0 : _c.target) === collectionName;
|
|
127
|
+
}
|
|
128
|
+
async function findSourceAttachments(ctx, lookups) {
|
|
129
|
+
var _a;
|
|
130
|
+
const attachmentsByLookup = /* @__PURE__ */ new Map();
|
|
131
|
+
const groups = /* @__PURE__ */ new Map();
|
|
132
|
+
for (const lookup of lookups) {
|
|
133
|
+
const dataSourceKey = lookup.source.dataSourceKey || "main";
|
|
134
|
+
const collectionName = lookup.source.collectionName;
|
|
135
|
+
const groupKey = `${dataSourceKey}:${collectionName}`;
|
|
136
|
+
groups.set(groupKey, [...groups.get(groupKey) ?? [], lookup]);
|
|
137
|
+
}
|
|
138
|
+
for (const [groupKey, groupLookups] of groups.entries()) {
|
|
139
|
+
const [dataSourceKey, collectionName] = groupKey.split(":");
|
|
140
|
+
const db = getSourceDatabase(ctx, dataSourceKey);
|
|
141
|
+
if (!db) {
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
const validLookups = groupLookups.filter((lookup) => isValidFileCollectionSource(db, lookup));
|
|
145
|
+
if (!validLookups.length) {
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
const filter = {
|
|
149
|
+
id: {
|
|
150
|
+
$in: [...new Set(validLookups.map((lookup) => lookup.id))]
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
if (collectionName === "aiFiles") {
|
|
154
|
+
filter.createdById = (_a = ctx.auth) == null ? void 0 : _a.user.id;
|
|
155
|
+
}
|
|
156
|
+
const records = await db.getRepository(collectionName).find({ filter });
|
|
157
|
+
for (const record of records) {
|
|
158
|
+
const attachment = record.toJSON();
|
|
159
|
+
attachmentsByLookup.set(`${dataSourceKey}:${collectionName}:${attachment.id}`, attachment);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return attachmentsByLookup;
|
|
163
|
+
}
|
|
164
|
+
async function findMessageAttachments(ctx, attachments) {
|
|
165
|
+
const lookups = [];
|
|
166
|
+
for (const attachment of attachments) {
|
|
167
|
+
const source = getAttachmentSource(attachment);
|
|
168
|
+
if (!source || shouldSkipAttachmentSourceLookup(source)) {
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
const id = getAttachmentId(attachment);
|
|
172
|
+
if (id == null) {
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
lookups.push({
|
|
176
|
+
id,
|
|
177
|
+
source
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
return findSourceAttachments(ctx, lookups);
|
|
181
|
+
}
|
|
182
|
+
function getMessageAttachmentLookupKey(attachment) {
|
|
183
|
+
const source = getAttachmentSource(attachment);
|
|
184
|
+
if (!source || shouldSkipAttachmentSourceLookup(source)) {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
const id = getAttachmentId(attachment);
|
|
188
|
+
if (id == null) {
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
return getLookupKey({
|
|
192
|
+
id,
|
|
193
|
+
source
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
197
|
+
0 && (module.exports = {
|
|
198
|
+
appendAIFileAttachmentSource,
|
|
199
|
+
findMessageAttachments,
|
|
200
|
+
getAttachmentId,
|
|
201
|
+
getAttachmentSource,
|
|
202
|
+
getMessageAttachmentLookupKey,
|
|
203
|
+
shouldSkipAttachmentSourceLookup
|
|
204
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
+
declare const _default: import("@nocobase/database").CollectionOptions;
|
|
10
|
+
export default _default;
|