@nocobase/plugin-ai 2.2.0-beta.5 → 2.2.0-beta.6
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/docs/nocobase/ai-employees/knowledge-base/dev/external-knowledge-base.md +318 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/documents.md +76 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/hit-tests.md +66 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/index.md +73 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/segments.md +93 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/settings.md +77 -0
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/rag.md +1 -1
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/create-document.md +79 -0
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/delete-document.md +71 -0
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/index.md +84 -0
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/retrieve-document.md +87 -0
- package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/update-document.md +70 -0
- package/dist/ai/docs/nocobase/api/cli/app/restart.md +4 -0
- package/dist/ai/docs/nocobase/api/cli/app/start.md +7 -0
- package/dist/ai/docs/nocobase/api/cli/app/upgrade.md +6 -0
- package/dist/ai/docs/nocobase/api/cli/init.md +39 -2
- package/dist/ai/docs/nocobase/api/cli/source/download.md +19 -0
- package/dist/ai/docs/nocobase/data-sources/data-modeling/collection-fields/validation.md +11 -8
- package/dist/ai/docs/nocobase/development/index.md +3 -0
- package/dist/ai/docs/nocobase/interface-builder/fields/field-settings/validation-rules.md +6 -2
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-multi-portal/index.md +16 -0
- package/dist/ai/docs/nocobase/plugins/@nocobase/plugin-ui-layout/index.md +14 -0
- package/dist/client/{406.9a530334eae8cede.js → 406.15c09d98faa2ccf1.js} +1 -1
- package/dist/client/{428.fdd0cc3cfd1632ef.js → 428.5eb4f53ddbb6a3b8.js} +1 -1
- package/dist/client/ai-employees/ProfileCard.d.ts +1 -0
- package/dist/client/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +2 -3
- package/dist/client/index.js +3 -3
- package/dist/client-v2/index.js +1 -1
- package/dist/externalVersion.js +21 -21
- package/dist/node_modules/@langchain/xai/dist/chat_models/completions.cjs +25 -34
- package/dist/node_modules/@langchain/xai/dist/chat_models/completions.d.cts +10 -22
- package/dist/node_modules/@langchain/xai/dist/chat_models/completions.d.ts +10 -22
- package/dist/node_modules/@langchain/xai/dist/chat_models/completions.js +17 -25
- package/dist/node_modules/@langchain/xai/dist/chat_models/index.cjs +2 -2
- package/dist/node_modules/@langchain/xai/dist/chat_models/index.d.cts +3 -0
- package/dist/node_modules/@langchain/xai/dist/chat_models/index.js +3 -2
- package/dist/node_modules/@langchain/xai/dist/chat_models/responses-types.d.cts +5 -12
- package/dist/node_modules/@langchain/xai/dist/chat_models/responses-types.d.ts +5 -12
- package/dist/node_modules/@langchain/xai/dist/chat_models/responses.cjs +18 -19
- package/dist/node_modules/@langchain/xai/dist/chat_models/responses.d.cts +1 -1
- package/dist/node_modules/@langchain/xai/dist/chat_models/responses.d.ts +1 -1
- package/dist/node_modules/@langchain/xai/dist/chat_models/responses.js +13 -13
- package/dist/node_modules/@langchain/xai/dist/converters/responses.cjs +16 -22
- package/dist/node_modules/@langchain/xai/dist/converters/responses.js +7 -12
- package/dist/node_modules/@langchain/xai/dist/index.cjs +2 -2
- package/dist/node_modules/@langchain/xai/dist/index.d.ts +0 -1
- package/dist/node_modules/@langchain/xai/dist/index.js +1 -2
- package/dist/node_modules/@langchain/xai/dist/live_search.cjs +4 -5
- package/dist/node_modules/@langchain/xai/dist/live_search.js +4 -4
- package/dist/node_modules/@langchain/xai/dist/profiles.cjs +81 -97
- package/dist/node_modules/@langchain/xai/dist/profiles.js +81 -96
- package/dist/node_modules/@langchain/xai/dist/tools/code_execution.cjs +1 -2
- package/dist/node_modules/@langchain/xai/dist/tools/code_execution.js +1 -1
- package/dist/node_modules/@langchain/xai/dist/tools/collections_search.cjs +1 -2
- package/dist/node_modules/@langchain/xai/dist/tools/collections_search.js +1 -1
- package/dist/node_modules/@langchain/xai/dist/tools/index.cjs +6 -7
- package/dist/node_modules/@langchain/xai/dist/tools/index.d.cts +1 -2
- package/dist/node_modules/@langchain/xai/dist/tools/index.d.ts +1 -2
- package/dist/node_modules/@langchain/xai/dist/tools/index.js +6 -7
- package/dist/node_modules/@langchain/xai/dist/tools/live_search.cjs +3 -7
- package/dist/node_modules/@langchain/xai/dist/tools/live_search.d.cts +1 -2
- package/dist/node_modules/@langchain/xai/dist/tools/live_search.d.ts +1 -2
- package/dist/node_modules/@langchain/xai/dist/tools/live_search.js +3 -6
- package/dist/node_modules/@langchain/xai/dist/tools/web_search.cjs +1 -2
- package/dist/node_modules/@langchain/xai/dist/tools/web_search.js +1 -1
- package/dist/node_modules/@langchain/xai/dist/tools/x_search.cjs +1 -2
- package/dist/node_modules/@langchain/xai/dist/tools/x_search.js +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/_vendor/zod-to-json-schema/parsers/branded.d.mts +1 -1
- package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/branded.d.ts +1 -1
- package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/catch.d.mts +1 -1
- package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/catch.d.ts +1 -1
- package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/readonly.d.mts +1 -1
- package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/readonly.d.ts +1 -1
- package/dist/node_modules/openai/api-promise.d.mts +1 -0
- package/dist/node_modules/openai/api-promise.d.ts +1 -0
- package/dist/node_modules/openai/auth/index.d.mts +4 -0
- package/dist/node_modules/openai/auth/index.d.ts +4 -0
- package/dist/node_modules/openai/auth/index.js +11 -0
- package/dist/node_modules/openai/auth/subject-token-providers.d.mts +20 -0
- package/dist/node_modules/openai/auth/subject-token-providers.d.ts +20 -0
- package/dist/node_modules/openai/auth/subject-token-providers.js +127 -0
- package/dist/node_modules/openai/auth/types.d.mts +23 -0
- package/dist/node_modules/openai/auth/types.d.ts +23 -0
- package/dist/node_modules/openai/auth/types.js +3 -0
- package/dist/node_modules/openai/auth/workload-identity-auth.d.mts +16 -0
- package/dist/node_modules/openai/auth/workload-identity-auth.d.ts +16 -0
- package/dist/node_modules/openai/auth/workload-identity-auth.js +95 -0
- package/dist/node_modules/openai/azure.d.mts +6 -2
- package/dist/node_modules/openai/azure.d.ts +6 -2
- package/dist/node_modules/openai/azure.js +4 -3
- package/dist/node_modules/openai/beta/realtime/websocket.js +7 -2
- package/dist/node_modules/openai/beta/realtime/ws.js +5 -1
- package/dist/node_modules/openai/bin/migration-config.json +1120 -0
- package/dist/node_modules/openai/client.d.mts +72 -10
- package/dist/node_modules/openai/client.d.ts +72 -10
- package/dist/node_modules/openai/client.js +207 -28
- package/dist/node_modules/openai/core/EventEmitter.d.mts +56 -0
- package/dist/node_modules/openai/core/EventEmitter.d.ts +56 -0
- package/dist/node_modules/openai/core/EventEmitter.js +93 -0
- package/dist/node_modules/openai/core/error.d.mts +15 -0
- package/dist/node_modules/openai/core/error.d.ts +15 -0
- package/dist/node_modules/openai/core/error.js +34 -1
- package/dist/node_modules/openai/core/pagination.d.mts +18 -0
- package/dist/node_modules/openai/core/pagination.d.ts +18 -0
- package/dist/node_modules/openai/core/pagination.js +32 -1
- package/dist/node_modules/openai/core/streaming.d.mts +1 -1
- package/dist/node_modules/openai/core/streaming.d.ts +1 -1
- package/dist/node_modules/openai/core/streaming.js +2 -2
- package/dist/node_modules/openai/error.d.mts +1 -0
- package/dist/node_modules/openai/error.d.ts +1 -0
- package/dist/node_modules/openai/index.d.mts +1 -1
- package/dist/node_modules/openai/index.d.ts +1 -1
- package/dist/node_modules/openai/index.js +1 -1
- package/dist/node_modules/openai/internal/parse.js +2 -2
- package/dist/node_modules/openai/internal/qs/index.d.mts +2 -2
- package/dist/node_modules/openai/internal/qs/index.d.ts +2 -2
- package/dist/node_modules/openai/internal/request-options.d.mts +5 -0
- package/dist/node_modules/openai/internal/request-options.d.ts +5 -0
- package/dist/node_modules/openai/internal/shims.d.mts +6 -0
- package/dist/node_modules/openai/internal/shims.d.ts +6 -0
- package/dist/node_modules/openai/internal/types.d.mts +17 -11
- package/dist/node_modules/openai/internal/types.d.ts +17 -11
- package/dist/node_modules/openai/internal/utils/env.js +2 -2
- package/dist/node_modules/openai/internal/utils/log.js +2 -0
- package/dist/node_modules/openai/internal/utils/query.d.mts +2 -0
- package/dist/node_modules/openai/internal/utils/query.d.ts +2 -0
- package/dist/node_modules/openai/internal/utils/query.js +10 -0
- package/dist/node_modules/openai/internal/utils.d.mts +1 -0
- package/dist/node_modules/openai/internal/utils.d.ts +1 -0
- package/dist/node_modules/openai/internal/utils.js +1 -0
- package/dist/node_modules/openai/internal/ws-adapter-browser.d.mts +34 -0
- package/dist/node_modules/openai/internal/ws-adapter-browser.d.ts +34 -0
- package/dist/node_modules/openai/internal/ws-adapter-browser.js +88 -0
- package/dist/node_modules/openai/internal/ws-adapter-node.d.mts +27 -0
- package/dist/node_modules/openai/internal/ws-adapter-node.d.ts +27 -0
- package/dist/node_modules/openai/internal/ws-adapter-node.js +90 -0
- package/dist/node_modules/openai/internal/ws-adapter.d.mts +24 -0
- package/dist/node_modules/openai/internal/ws-adapter.d.ts +24 -0
- package/dist/node_modules/openai/internal/ws-adapter.js +11 -0
- package/dist/node_modules/openai/internal/ws.d.mts +80 -0
- package/dist/node_modules/openai/internal/ws.d.ts +80 -0
- package/dist/node_modules/openai/internal/ws.js +153 -0
- package/dist/node_modules/openai/package.json +1 -1
- package/dist/node_modules/openai/pagination.d.mts +1 -0
- package/dist/node_modules/openai/pagination.d.ts +1 -0
- package/dist/node_modules/openai/realtime/websocket.js +7 -2
- package/dist/node_modules/openai/realtime/ws.js +5 -1
- package/dist/node_modules/openai/resource.d.mts +1 -0
- package/dist/node_modules/openai/resource.d.ts +1 -0
- package/dist/node_modules/openai/resources/admin/admin.d.mts +10 -0
- package/dist/node_modules/openai/resources/admin/admin.d.ts +10 -0
- package/dist/node_modules/openai/resources/admin/admin.js +17 -0
- package/dist/node_modules/openai/resources/admin/index.d.mts +3 -0
- package/dist/node_modules/openai/resources/admin/index.d.ts +3 -0
- package/dist/node_modules/openai/resources/admin/index.js +9 -0
- package/dist/node_modules/openai/resources/admin/organization/admin-api-keys.d.mts +140 -0
- package/dist/node_modules/openai/resources/admin/organization/admin-api-keys.d.ts +140 -0
- package/dist/node_modules/openai/resources/admin/organization/admin-api-keys.js +81 -0
- package/dist/node_modules/openai/resources/admin/organization/audit-logs.d.mts +1267 -0
- package/dist/node_modules/openai/resources/admin/organization/audit-logs.d.ts +1267 -0
- package/dist/node_modules/openai/resources/admin/organization/audit-logs.js +31 -0
- package/dist/node_modules/openai/resources/admin/organization/certificates.d.mts +322 -0
- package/dist/node_modules/openai/resources/admin/organization/certificates.d.ts +322 -0
- package/dist/node_modules/openai/resources/admin/organization/certificates.js +144 -0
- package/dist/node_modules/openai/resources/admin/organization/data-retention.d.mts +50 -0
- package/dist/node_modules/openai/resources/admin/organization/data-retention.d.ts +50 -0
- package/dist/node_modules/openai/resources/admin/organization/data-retention.js +42 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/groups.d.mts +160 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/groups.d.ts +160 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/groups.js +109 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/index.d.mts +4 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/index.d.ts +4 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/index.js +11 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/roles.d.mts +275 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/roles.d.ts +275 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/roles.js +84 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/users.d.mts +164 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/users.d.ts +164 -0
- package/dist/node_modules/openai/resources/admin/organization/groups/users.js +84 -0
- package/dist/node_modules/openai/resources/admin/organization/groups.d.mts +2 -0
- package/dist/node_modules/openai/resources/admin/organization/groups.d.ts +2 -0
- package/dist/node_modules/openai/resources/admin/organization/groups.js +6 -0
- package/dist/node_modules/openai/resources/admin/organization/index.d.mts +13 -0
- package/dist/node_modules/openai/resources/admin/organization/index.d.ts +13 -0
- package/dist/node_modules/openai/resources/admin/organization/index.js +29 -0
- package/dist/node_modules/openai/resources/admin/organization/invites.d.mts +153 -0
- package/dist/node_modules/openai/resources/admin/organization/invites.d.ts +153 -0
- package/dist/node_modules/openai/resources/admin/organization/invites.js +83 -0
- package/dist/node_modules/openai/resources/admin/organization/organization.d.mts +50 -0
- package/dist/node_modules/openai/resources/admin/organization/organization.d.ts +50 -0
- package/dist/node_modules/openai/resources/admin/organization/organization.js +57 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/api-keys.d.mts +167 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/api-keys.d.ts +167 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/api-keys.js +68 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/certificates.d.mts +186 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/certificates.d.ts +186 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/certificates.js +64 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/data-retention.d.mts +53 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/data-retention.d.ts +53 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/data-retention.js +46 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups/groups.d.mts +142 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups/groups.d.ts +142 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups/groups.js +93 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups/index.d.mts +3 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups/index.d.ts +3 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups/index.js +9 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups/roles.d.mts +292 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups/roles.d.ts +292 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups/roles.js +87 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups.d.mts +2 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups.d.ts +2 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/groups.js +6 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.d.mts +174 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.d.ts +174 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.js +45 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/index.d.mts +13 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/index.d.ts +13 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/index.js +29 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/model-permissions.d.mts +86 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/model-permissions.d.ts +86 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/model-permissions.js +63 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/projects.d.mts +188 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/projects.d.ts +188 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/projects.js +149 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/rate-limits.d.mts +120 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/rate-limits.d.ts +120 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/rate-limits.js +47 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/roles.d.mts +146 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/roles.d.ts +146 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/roles.js +108 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/service-accounts.d.mts +168 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/service-accounts.d.ts +168 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/service-accounts.js +101 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/spend-alerts.d.mts +241 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/spend-alerts.d.ts +241 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/spend-alerts.js +102 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users/index.d.mts +3 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users/index.d.ts +3 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users/index.js +9 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users/roles.d.mts +266 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users/roles.d.ts +266 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users/roles.js +87 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users/users.d.mts +157 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users/users.d.ts +157 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users/users.js +116 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users.d.mts +2 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users.d.ts +2 -0
- package/dist/node_modules/openai/resources/admin/organization/projects/users.js +6 -0
- package/dist/node_modules/openai/resources/admin/organization/projects.d.mts +2 -0
- package/dist/node_modules/openai/resources/admin/organization/projects.d.ts +2 -0
- package/dist/node_modules/openai/resources/admin/organization/projects.js +6 -0
- package/dist/node_modules/openai/resources/admin/organization/roles.d.mts +153 -0
- package/dist/node_modules/openai/resources/admin/organization/roles.d.ts +153 -0
- package/dist/node_modules/openai/resources/admin/organization/roles.js +96 -0
- package/dist/node_modules/openai/resources/admin/organization/spend-alerts.d.mts +224 -0
- package/dist/node_modules/openai/resources/admin/organization/spend-alerts.d.ts +224 -0
- package/dist/node_modules/openai/resources/admin/organization/spend-alerts.js +93 -0
- package/dist/node_modules/openai/resources/admin/organization/usage.d.mts +5123 -0
- package/dist/node_modules/openai/resources/admin/organization/usage.d.ts +5123 -0
- package/dist/node_modules/openai/resources/admin/organization/usage.js +207 -0
- package/dist/node_modules/openai/resources/admin/organization/users/index.d.mts +3 -0
- package/dist/node_modules/openai/resources/admin/organization/users/index.d.ts +3 -0
- package/dist/node_modules/openai/resources/admin/organization/users/index.js +9 -0
- package/dist/node_modules/openai/resources/admin/organization/users/roles.d.mts +249 -0
- package/dist/node_modules/openai/resources/admin/organization/users/roles.d.ts +249 -0
- package/dist/node_modules/openai/resources/admin/organization/users/roles.js +84 -0
- package/dist/node_modules/openai/resources/admin/organization/users/users.d.mts +185 -0
- package/dist/node_modules/openai/resources/admin/organization/users/users.d.ts +185 -0
- package/dist/node_modules/openai/resources/admin/organization/users/users.js +84 -0
- package/dist/node_modules/openai/resources/admin/organization/users.d.mts +2 -0
- package/dist/node_modules/openai/resources/admin/organization/users.d.ts +2 -0
- package/dist/node_modules/openai/resources/admin/organization/users.js +6 -0
- package/dist/node_modules/openai/resources/admin/organization.d.mts +2 -0
- package/dist/node_modules/openai/resources/admin/organization.d.ts +2 -0
- package/dist/node_modules/openai/resources/admin/organization.js +6 -0
- package/dist/node_modules/openai/resources/admin.d.mts +2 -0
- package/dist/node_modules/openai/resources/admin.d.ts +2 -0
- package/dist/node_modules/openai/resources/admin.js +6 -0
- package/dist/node_modules/openai/resources/audio/speech.d.mts +22 -5
- package/dist/node_modules/openai/resources/audio/speech.d.ts +22 -5
- package/dist/node_modules/openai/resources/audio/speech.js +8 -2
- package/dist/node_modules/openai/resources/audio/transcriptions.d.mts +6 -0
- package/dist/node_modules/openai/resources/audio/transcriptions.d.ts +6 -0
- package/dist/node_modules/openai/resources/audio/transcriptions.js +4 -0
- package/dist/node_modules/openai/resources/audio/translations.d.mts +3 -0
- package/dist/node_modules/openai/resources/audio/translations.d.ts +3 -0
- package/dist/node_modules/openai/resources/audio/translations.js +4 -1
- package/dist/node_modules/openai/resources/batches.d.mts +8 -4
- package/dist/node_modules/openai/resources/batches.d.ts +8 -4
- package/dist/node_modules/openai/resources/batches.js +14 -4
- package/dist/node_modules/openai/resources/beta/assistants.d.mts +6 -2
- package/dist/node_modules/openai/resources/beta/assistants.d.ts +6 -2
- package/dist/node_modules/openai/resources/beta/assistants.js +8 -0
- package/dist/node_modules/openai/resources/beta/chatkit/sessions.d.mts +4 -2
- package/dist/node_modules/openai/resources/beta/chatkit/sessions.d.ts +4 -2
- package/dist/node_modules/openai/resources/beta/chatkit/sessions.js +6 -2
- package/dist/node_modules/openai/resources/beta/chatkit/threads.d.mts +4 -4
- package/dist/node_modules/openai/resources/beta/chatkit/threads.d.ts +4 -4
- package/dist/node_modules/openai/resources/beta/chatkit/threads.js +13 -5
- package/dist/node_modules/openai/resources/beta/realtime/sessions.js +1 -0
- package/dist/node_modules/openai/resources/beta/realtime/transcription-sessions.js +1 -0
- package/dist/node_modules/openai/resources/beta/threads/messages.d.mts +2 -0
- package/dist/node_modules/openai/resources/beta/threads/messages.d.ts +2 -0
- package/dist/node_modules/openai/resources/beta/threads/messages.js +7 -0
- package/dist/node_modules/openai/resources/beta/threads/runs/runs.d.mts +2 -0
- package/dist/node_modules/openai/resources/beta/threads/runs/runs.d.ts +2 -0
- package/dist/node_modules/openai/resources/beta/threads/runs/runs.js +10 -0
- package/dist/node_modules/openai/resources/beta/threads/runs/steps.d.mts +2 -0
- package/dist/node_modules/openai/resources/beta/threads/runs/steps.d.ts +2 -0
- package/dist/node_modules/openai/resources/beta/threads/runs/steps.js +4 -0
- package/dist/node_modules/openai/resources/beta/threads/threads.d.mts +8 -4
- package/dist/node_modules/openai/resources/beta/threads/threads.d.ts +8 -4
- package/dist/node_modules/openai/resources/beta/threads/threads.js +8 -0
- package/dist/node_modules/openai/resources/chat/completions/completions.d.mts +37 -18
- package/dist/node_modules/openai/resources/chat/completions/completions.d.ts +37 -18
- package/dist/node_modules/openai/resources/chat/completions/completions.js +27 -5
- package/dist/node_modules/openai/resources/chat/completions/messages.d.mts +3 -0
- package/dist/node_modules/openai/resources/chat/completions/messages.d.ts +3 -0
- package/dist/node_modules/openai/resources/chat/completions/messages.js +4 -1
- package/dist/node_modules/openai/resources/completions.d.mts +9 -3
- package/dist/node_modules/openai/resources/completions.d.ts +9 -3
- package/dist/node_modules/openai/resources/completions.js +9 -1
- package/dist/node_modules/openai/resources/containers/containers.js +11 -3
- package/dist/node_modules/openai/resources/containers/files/content.js +1 -0
- package/dist/node_modules/openai/resources/containers/files/files.js +7 -2
- package/dist/node_modules/openai/resources/conversations/conversations.d.mts +15 -0
- package/dist/node_modules/openai/resources/conversations/conversations.d.ts +15 -0
- package/dist/node_modules/openai/resources/conversations/conversations.js +17 -4
- package/dist/node_modules/openai/resources/conversations/items.d.mts +4 -1
- package/dist/node_modules/openai/resources/conversations/items.d.ts +4 -1
- package/dist/node_modules/openai/resources/conversations/items.js +14 -3
- package/dist/node_modules/openai/resources/embeddings.d.mts +3 -0
- package/dist/node_modules/openai/resources/embeddings.d.ts +3 -0
- package/dist/node_modules/openai/resources/embeddings.js +4 -0
- package/dist/node_modules/openai/resources/evals/evals.d.mts +3 -0
- package/dist/node_modules/openai/resources/evals/evals.d.ts +3 -0
- package/dist/node_modules/openai/resources/evals/evals.js +12 -5
- package/dist/node_modules/openai/resources/evals/runs/output-items.d.mts +3 -0
- package/dist/node_modules/openai/resources/evals/runs/output-items.d.ts +3 -0
- package/dist/node_modules/openai/resources/evals/runs/output-items.js +8 -2
- package/dist/node_modules/openai/resources/evals/runs/runs.d.mts +3 -0
- package/dist/node_modules/openai/resources/evals/runs/runs.d.ts +3 -0
- package/dist/node_modules/openai/resources/evals/runs/runs.js +21 -4
- package/dist/node_modules/openai/resources/files.d.mts +11 -1
- package/dist/node_modules/openai/resources/files.d.ts +11 -1
- package/dist/node_modules/openai/resources/files.js +20 -5
- package/dist/node_modules/openai/resources/fine-tuning/alpha/graders.d.mts +3 -0
- package/dist/node_modules/openai/resources/fine-tuning/alpha/graders.d.ts +3 -0
- package/dist/node_modules/openai/resources/fine-tuning/alpha/graders.js +13 -2
- package/dist/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.d.mts +2 -2
- package/dist/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.d.ts +2 -2
- package/dist/node_modules/openai/resources/fine-tuning/checkpoints/index.d.mts +1 -1
- package/dist/node_modules/openai/resources/fine-tuning/checkpoints/index.d.ts +1 -1
- package/dist/node_modules/openai/resources/fine-tuning/checkpoints/permissions.d.mts +54 -7
- package/dist/node_modules/openai/resources/fine-tuning/checkpoints/permissions.d.ts +54 -7
- package/dist/node_modules/openai/resources/fine-tuning/checkpoints/permissions.js +26 -9
- package/dist/node_modules/openai/resources/fine-tuning/jobs/checkpoints.d.mts +3 -0
- package/dist/node_modules/openai/resources/fine-tuning/jobs/checkpoints.d.ts +3 -0
- package/dist/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js +4 -1
- package/dist/node_modules/openai/resources/fine-tuning/jobs/jobs.d.mts +3 -0
- package/dist/node_modules/openai/resources/fine-tuning/jobs/jobs.d.ts +3 -0
- package/dist/node_modules/openai/resources/fine-tuning/jobs/jobs.js +26 -7
- package/dist/node_modules/openai/resources/images.d.mts +56 -24
- package/dist/node_modules/openai/resources/images.d.ts +56 -24
- package/dist/node_modules/openai/resources/images.js +11 -3
- package/dist/node_modules/openai/resources/index.d.mts +2 -1
- package/dist/node_modules/openai/resources/index.d.ts +2 -1
- package/dist/node_modules/openai/resources/index.js +3 -1
- package/dist/node_modules/openai/resources/models.d.mts +3 -0
- package/dist/node_modules/openai/resources/models.d.ts +3 -0
- package/dist/node_modules/openai/resources/models.js +6 -3
- package/dist/node_modules/openai/resources/moderations.d.mts +3 -0
- package/dist/node_modules/openai/resources/moderations.d.ts +3 -0
- package/dist/node_modules/openai/resources/moderations.js +4 -1
- package/dist/node_modules/openai/resources/realtime/calls.d.mts +13 -3
- package/dist/node_modules/openai/resources/realtime/calls.d.ts +13 -3
- package/dist/node_modules/openai/resources/realtime/calls.js +4 -0
- package/dist/node_modules/openai/resources/realtime/client-secrets.d.mts +45 -39
- package/dist/node_modules/openai/resources/realtime/client-secrets.d.ts +45 -39
- package/dist/node_modules/openai/resources/realtime/client-secrets.js +19 -1
- package/dist/node_modules/openai/resources/realtime/index.d.mts +1 -1
- package/dist/node_modules/openai/resources/realtime/index.d.ts +1 -1
- package/dist/node_modules/openai/resources/realtime/realtime.d.mts +592 -21
- package/dist/node_modules/openai/resources/realtime/realtime.d.ts +592 -21
- package/dist/node_modules/openai/resources/responses/index.d.mts +2 -0
- package/dist/node_modules/openai/resources/responses/index.d.ts +2 -0
- package/dist/node_modules/openai/resources/responses/input-items.js +1 -1
- package/dist/node_modules/openai/resources/responses/input-tokens.d.mts +4 -1
- package/dist/node_modules/openai/resources/responses/input-tokens.d.ts +4 -1
- package/dist/node_modules/openai/resources/responses/input-tokens.js +9 -2
- package/dist/node_modules/openai/resources/responses/internal-base.d.mts +71 -0
- package/dist/node_modules/openai/resources/responses/internal-base.d.ts +71 -0
- package/dist/node_modules/openai/resources/responses/internal-base.js +48 -0
- package/dist/node_modules/openai/resources/responses/responses.d.mts +956 -64
- package/dist/node_modules/openai/resources/responses/responses.d.ts +956 -64
- package/dist/node_modules/openai/resources/responses/responses.js +20 -5
- package/dist/node_modules/openai/resources/responses/ws-base.d.mts +106 -0
- package/dist/node_modules/openai/resources/responses/ws-base.d.ts +106 -0
- package/dist/node_modules/openai/resources/responses/ws-base.js +476 -0
- package/dist/node_modules/openai/resources/responses/ws.d.mts +13 -0
- package/dist/node_modules/openai/resources/responses/ws.d.ts +13 -0
- package/dist/node_modules/openai/resources/responses/ws.js +31 -0
- package/dist/node_modules/openai/resources/shared.d.mts +3 -2
- package/dist/node_modules/openai/resources/shared.d.ts +3 -2
- package/dist/node_modules/openai/resources/skills/content.d.mts +1 -1
- package/dist/node_modules/openai/resources/skills/content.d.ts +1 -1
- package/dist/node_modules/openai/resources/skills/content.js +2 -1
- package/dist/node_modules/openai/resources/skills/skills.d.mts +5 -5
- package/dist/node_modules/openai/resources/skills/skills.d.ts +5 -5
- package/dist/node_modules/openai/resources/skills/skills.js +18 -10
- package/dist/node_modules/openai/resources/skills/versions/content.d.mts +1 -1
- package/dist/node_modules/openai/resources/skills/versions/content.d.ts +1 -1
- package/dist/node_modules/openai/resources/skills/versions/content.js +2 -1
- package/dist/node_modules/openai/resources/skills/versions/versions.d.mts +4 -4
- package/dist/node_modules/openai/resources/skills/versions/versions.d.ts +4 -4
- package/dist/node_modules/openai/resources/skills/versions/versions.js +14 -7
- package/dist/node_modules/openai/resources/uploads/parts.d.mts +3 -0
- package/dist/node_modules/openai/resources/uploads/parts.d.ts +3 -0
- package/dist/node_modules/openai/resources/uploads/parts.js +4 -1
- package/dist/node_modules/openai/resources/uploads/uploads.d.mts +10 -1
- package/dist/node_modules/openai/resources/uploads/uploads.d.ts +10 -1
- package/dist/node_modules/openai/resources/uploads/uploads.js +20 -4
- package/dist/node_modules/openai/resources/vector-stores/file-batches.d.mts +9 -3
- package/dist/node_modules/openai/resources/vector-stores/file-batches.d.ts +9 -3
- package/dist/node_modules/openai/resources/vector-stores/file-batches.js +9 -1
- package/dist/node_modules/openai/resources/vector-stores/files.d.mts +3 -1
- package/dist/node_modules/openai/resources/vector-stores/files.d.ts +3 -1
- package/dist/node_modules/openai/resources/vector-stores/files.js +10 -1
- package/dist/node_modules/openai/resources/vector-stores/vector-stores.js +6 -0
- package/dist/node_modules/openai/resources/videos.d.mts +123 -11
- package/dist/node_modules/openai/resources/videos.d.ts +123 -11
- package/dist/node_modules/openai/resources/videos.js +46 -11
- package/dist/node_modules/openai/src/auth/index.ts +9 -0
- package/dist/node_modules/openai/src/auth/subject-token-providers.ts +185 -0
- package/dist/node_modules/openai/src/auth/types.ts +28 -0
- package/dist/node_modules/openai/src/auth/workload-identity-auth.ts +122 -0
- package/dist/node_modules/openai/src/azure.ts +9 -4
- package/dist/node_modules/openai/src/beta/realtime/websocket.ts +7 -2
- package/dist/node_modules/openai/src/beta/realtime/ws.ts +5 -1
- package/dist/node_modules/openai/src/client.ts +312 -35
- package/dist/node_modules/openai/src/core/EventEmitter.ts +114 -0
- package/dist/node_modules/openai/src/core/error.ts +40 -0
- package/dist/node_modules/openai/src/core/pagination.ts +62 -0
- package/dist/node_modules/openai/src/core/streaming.ts +2 -1
- package/dist/node_modules/openai/src/index.ts +2 -0
- package/dist/node_modules/openai/src/internal/parse.ts +12 -2
- package/dist/node_modules/openai/src/internal/request-options.ts +2 -0
- package/dist/node_modules/openai/src/internal/types.ts +14 -8
- package/dist/node_modules/openai/src/internal/utils/env.ts +2 -2
- package/dist/node_modules/openai/src/internal/utils/log.ts +2 -0
- package/dist/node_modules/openai/src/internal/utils/query.ts +7 -0
- package/dist/node_modules/openai/src/internal/utils.ts +1 -0
- package/dist/node_modules/openai/src/internal/ws-adapter-browser.ts +123 -0
- package/dist/node_modules/openai/src/internal/ws-adapter-node.ts +105 -0
- package/dist/node_modules/openai/src/internal/ws-adapter.ts +30 -0
- package/dist/node_modules/openai/src/internal/ws.ts +193 -0
- package/dist/node_modules/openai/src/realtime/websocket.ts +7 -2
- package/dist/node_modules/openai/src/realtime/ws.ts +5 -1
- package/dist/node_modules/openai/src/resources/admin/admin.ts +15 -0
- package/dist/node_modules/openai/src/resources/admin/index.ts +4 -0
- package/dist/node_modules/openai/src/resources/admin/organization/admin-api-keys.ts +199 -0
- package/dist/node_modules/openai/src/resources/admin/organization/audit-logs.ts +1597 -0
- package/dist/node_modules/openai/src/resources/admin/organization/certificates.ts +458 -0
- package/dist/node_modules/openai/src/resources/admin/organization/data-retention.ts +79 -0
- package/dist/node_modules/openai/src/resources/admin/organization/groups/groups.ts +277 -0
- package/dist/node_modules/openai/src/resources/admin/organization/groups/index.ts +36 -0
- package/dist/node_modules/openai/src/resources/admin/organization/groups/roles.ts +359 -0
- package/dist/node_modules/openai/src/resources/admin/organization/groups/users.ts +232 -0
- package/dist/node_modules/openai/src/resources/admin/organization/groups.ts +3 -0
- package/dist/node_modules/openai/src/resources/admin/organization/index.ts +117 -0
- package/dist/node_modules/openai/src/resources/admin/organization/invites.ts +215 -0
- package/dist/node_modules/openai/src/resources/admin/organization/organization.ts +272 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/api-keys.ts +239 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/certificates.ts +269 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/data-retention.ts +91 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/groups/groups.ts +231 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/groups/index.ts +24 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/groups/roles.ts +386 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/groups.ts +3 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/hosted-tool-permissions.ts +217 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/index.ts +102 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/model-permissions.ts +123 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/projects.ts +445 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/rate-limits.ts +173 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/roles.ts +210 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/service-accounts.ts +266 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/spend-alerts.ts +332 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/users/index.ts +25 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/users/roles.ts +351 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/users/users.ts +256 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects/users.ts +3 -0
- package/dist/node_modules/openai/src/resources/admin/organization/projects.ts +3 -0
- package/dist/node_modules/openai/src/resources/admin/organization/roles.ts +217 -0
- package/dist/node_modules/openai/src/resources/admin/organization/spend-alerts.ts +301 -0
- package/dist/node_modules/openai/src/resources/admin/organization/usage.ts +6427 -0
- package/dist/node_modules/openai/src/resources/admin/organization/users/index.ts +22 -0
- package/dist/node_modules/openai/src/resources/admin/organization/users/roles.ts +328 -0
- package/dist/node_modules/openai/src/resources/admin/organization/users/users.ts +291 -0
- package/dist/node_modules/openai/src/resources/admin/organization/users.ts +3 -0
- package/dist/node_modules/openai/src/resources/admin/organization.ts +3 -0
- package/dist/node_modules/openai/src/resources/admin.ts +3 -0
- package/dist/node_modules/openai/src/resources/audio/speech.ts +26 -6
- package/dist/node_modules/openai/src/resources/audio/transcriptions.ts +7 -0
- package/dist/node_modules/openai/src/resources/audio/translations.ts +7 -1
- package/dist/node_modules/openai/src/resources/batches.ts +20 -8
- package/dist/node_modules/openai/src/resources/beta/assistants.ts +11 -2
- package/dist/node_modules/openai/src/resources/beta/chatkit/sessions.ts +6 -2
- package/dist/node_modules/openai/src/resources/beta/chatkit/threads.ts +13 -5
- package/dist/node_modules/openai/src/resources/beta/realtime/sessions.ts +1 -0
- package/dist/node_modules/openai/src/resources/beta/realtime/transcription-sessions.ts +1 -0
- package/dist/node_modules/openai/src/resources/beta/threads/messages.ts +7 -0
- package/dist/node_modules/openai/src/resources/beta/threads/runs/runs.ts +10 -0
- package/dist/node_modules/openai/src/resources/beta/threads/runs/steps.ts +4 -0
- package/dist/node_modules/openai/src/resources/beta/threads/threads.ts +14 -4
- package/dist/node_modules/openai/src/resources/chat/completions/completions.ts +64 -27
- package/dist/node_modules/openai/src/resources/chat/completions/messages.ts +4 -1
- package/dist/node_modules/openai/src/resources/completions.ts +15 -6
- package/dist/node_modules/openai/src/resources/containers/containers.ts +11 -3
- package/dist/node_modules/openai/src/resources/containers/files/content.ts +1 -0
- package/dist/node_modules/openai/src/resources/containers/files/files.ts +7 -2
- package/dist/node_modules/openai/src/resources/conversations/conversations.ts +31 -4
- package/dist/node_modules/openai/src/resources/conversations/items.ts +17 -3
- package/dist/node_modules/openai/src/resources/embeddings.ts +4 -0
- package/dist/node_modules/openai/src/resources/evals/evals.ts +12 -5
- package/dist/node_modules/openai/src/resources/evals/runs/output-items.ts +8 -2
- package/dist/node_modules/openai/src/resources/evals/runs/runs.ts +21 -4
- package/dist/node_modules/openai/src/resources/files.ts +23 -5
- package/dist/node_modules/openai/src/resources/fine-tuning/alpha/graders.ts +13 -2
- package/dist/node_modules/openai/src/resources/fine-tuning/checkpoints/checkpoints.ts +6 -0
- package/dist/node_modules/openai/src/resources/fine-tuning/checkpoints/index.ts +3 -0
- package/dist/node_modules/openai/src/resources/fine-tuning/checkpoints/permissions.ts +84 -10
- package/dist/node_modules/openai/src/resources/fine-tuning/jobs/checkpoints.ts +4 -1
- package/dist/node_modules/openai/src/resources/fine-tuning/jobs/jobs.ts +26 -7
- package/dist/node_modules/openai/src/resources/images.ts +74 -27
- package/dist/node_modules/openai/src/resources/index.ts +7 -0
- package/dist/node_modules/openai/src/resources/models.ts +6 -3
- package/dist/node_modules/openai/src/resources/moderations.ts +4 -1
- package/dist/node_modules/openai/src/resources/realtime/calls.ts +21 -2
- package/dist/node_modules/openai/src/resources/realtime/client-secrets.ts +54 -40
- package/dist/node_modules/openai/src/resources/realtime/index.ts +0 -1
- package/dist/node_modules/openai/src/resources/realtime/realtime.ts +705 -20
- package/dist/node_modules/openai/src/resources/responses/index.ts +2 -0
- package/dist/node_modules/openai/src/resources/responses/input-items.ts +1 -1
- package/dist/node_modules/openai/src/resources/responses/input-tokens.ts +9 -2
- package/dist/node_modules/openai/src/resources/responses/internal-base.ts +113 -0
- package/dist/node_modules/openai/src/resources/responses/responses.ts +1314 -143
- package/dist/node_modules/openai/src/resources/responses/ws-base.ts +611 -0
- package/dist/node_modules/openai/src/resources/responses/ws.ts +38 -0
- package/dist/node_modules/openai/src/resources/shared.ts +9 -1
- package/dist/node_modules/openai/src/resources/skills/content.ts +2 -1
- package/dist/node_modules/openai/src/resources/skills/skills.ts +21 -10
- package/dist/node_modules/openai/src/resources/skills/versions/content.ts +2 -1
- package/dist/node_modules/openai/src/resources/skills/versions/versions.ts +14 -7
- package/dist/node_modules/openai/src/resources/uploads/parts.ts +4 -1
- package/dist/node_modules/openai/src/resources/uploads/uploads.ts +20 -4
- package/dist/node_modules/openai/src/resources/vector-stores/file-batches.ts +18 -4
- package/dist/node_modules/openai/src/resources/vector-stores/files.ts +13 -2
- package/dist/node_modules/openai/src/resources/vector-stores/vector-stores.ts +6 -0
- package/dist/node_modules/openai/src/resources/videos.ts +186 -16
- package/dist/node_modules/openai/src/version.ts +1 -1
- package/dist/node_modules/openai/streaming.d.mts +1 -0
- package/dist/node_modules/openai/streaming.d.ts +1 -0
- package/dist/node_modules/openai/uploads.d.mts +1 -0
- package/dist/node_modules/openai/uploads.d.ts +1 -0
- package/dist/node_modules/openai/version.d.mts +1 -1
- package/dist/node_modules/openai/version.d.ts +1 -1
- package/dist/node_modules/openai/version.js +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/ai-employees/ai-employee.d.ts +1 -10
- package/dist/server/ai-employees/ai-employee.js +0 -84
- package/dist/server/ai-employees/ai-knowledge-base.d.ts +0 -4
- package/dist/server/ai-employees/ai-knowledge-base.js +25 -89
- package/dist/server/collections/lc-checkpoint-blobs.js +1 -1
- package/dist/server/collections/lc-checkpoint-writes.js +1 -1
- package/dist/server/collections/lc-checkpoints.js +1 -1
- package/dist/server/features/index.d.ts +1 -1
- package/dist/server/features/knowledge-base.d.ts +2 -1
- package/dist/server/features/vector-store-provider.d.ts +1 -9
- package/dist/server/plugin.d.ts +1 -0
- package/dist/server/plugin.js +31 -0
- package/dist/server/types/knowledge-base.type.d.ts +14 -0
- package/package.json +13 -13
- package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base.md +0 -82
- package/dist/node_modules/@langchain/xai/dist/_virtual/rolldown_runtime.cjs +0 -25
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
pkg: "@nocobase/plugin-ai-knowledge-base"
|
|
3
|
+
title: "Settings"
|
|
4
|
+
description: "Modify basic information, vector store, and default segmentation settings on the Settings page of a knowledge base, and understand the relation between knowledge-base-level and document-level segmentation settings."
|
|
5
|
+
keywords: "knowledge base settings,segmentation settings,Chunk size,Chunk overlap,vector store,NocoBase"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Settings
|
|
9
|
+
|
|
10
|
+
## Open the Settings page
|
|
11
|
+
|
|
12
|
+
After opening the knowledge base detail page, click Settings in the left sidebar. This page modifies basic information, file storage, vector store, and default segmentation settings of the current knowledge base.
|
|
13
|
+
|
|
14
|
+

|
|
15
|
+
|
|
16
|
+
## Basic information
|
|
17
|
+
|
|
18
|
+
Local knowledge base settings include:
|
|
19
|
+
|
|
20
|
+
| Setting | Description |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| Key | Unique identifier of the knowledge base. It cannot be changed after creation |
|
|
23
|
+
| Name | Knowledge base name |
|
|
24
|
+
| File storage | Where documents and segment files are stored. It cannot be changed after creation |
|
|
25
|
+
| Vector store | Vector store used by the current knowledge base |
|
|
26
|
+
| Description | Knowledge base description |
|
|
27
|
+
| Enabled | Whether the current knowledge base is enabled |
|
|
28
|
+
|
|
29
|
+
:::tip Vector store changes
|
|
30
|
+
|
|
31
|
+
After you modify Vector store, NocoBase asks for confirmation when saving. After the vector store changes, existing documents must be vectorized again before vector data can be written to the new vector store. Choose Save and vectorize to save the settings and vectorize immediately, or choose Save only to save the settings and later run Vectorization manually on the Documents page.
|
|
32
|
+
|
|
33
|
+
:::
|
|
34
|
+
|
|
35
|
+

|
|
36
|
+
|
|
37
|
+
## Default segmentation parameters
|
|
38
|
+
|
|
39
|
+
The Settings page includes three segmentation parameters:
|
|
40
|
+
|
|
41
|
+
| Setting | Default | Description |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
| Split document | Enabled | Whether uploaded documents are automatically split into multiple segments |
|
|
44
|
+
| Chunk size | `6000` | Maximum character count of each segment |
|
|
45
|
+
| Chunk overlap | `1200` | Overlapping character count between adjacent segments |
|
|
46
|
+
|
|
47
|
+
Chunk overlap cannot be greater than or equal to Chunk size. If the value is invalid, the backend normalizes it to keep overlap smaller than a single segment.
|
|
48
|
+
|
|
49
|
+
## Relation to document-level segment settings
|
|
50
|
+
|
|
51
|
+
These settings are knowledge-base-level defaults. They mainly affect documents uploaded or regenerated later.
|
|
52
|
+
|
|
53
|
+
After a document enters the knowledge base, it keeps its own segmentation parameters. On the Documents page, click Segments for a document, then open Segment settings to set Split document, Chunk size, and Chunk overlap for that document and run Resegment.
|
|
54
|
+
|
|
55
|
+
The relation between the two places is:
|
|
56
|
+
|
|
57
|
+
- Segmentation parameters in Settings define the default strategy for the knowledge base and are suitable for controlling new documents consistently
|
|
58
|
+
- Segmentation parameters in the Segments dialog only apply to the current document and are suitable for handling a document that is too long, too short, or structurally special
|
|
59
|
+
- Existing generated segments are not automatically rebuilt after knowledge-base-level defaults change
|
|
60
|
+
- To apply new parameters to an existing document, open its Segment settings and run Resegment
|
|
61
|
+
|
|
62
|
+
:::warning Note
|
|
63
|
+
|
|
64
|
+
Resegment discards manually edited segment content and related questions in that document. Changing knowledge-base-level defaults does not immediately overwrite existing segments; only document-level Resegment rebuilds segments.
|
|
65
|
+
|
|
66
|
+
:::
|
|
67
|
+
|
|
68
|
+
## When to adjust parameters
|
|
69
|
+
|
|
70
|
+
Default parameters cover most plain text, Markdown, Word, and PDF documents. Adjust them only in these cases:
|
|
71
|
+
|
|
72
|
+
- Segments are too long and matched results include too much unrelated content: reduce Chunk size
|
|
73
|
+
- Segments are too short and context is incomplete: increase Chunk size
|
|
74
|
+
- Sentence breaks are obvious between adjacent segments: increase Chunk overlap
|
|
75
|
+
- You want the whole document to be one retrieval unit: turn off Split document
|
|
76
|
+
|
|
77
|
+
After saving settings, newly uploaded documents use the new default parameters.
|
|
@@ -19,7 +19,7 @@ Select the AI employee for which you want to enable RAG, click the `Edit` button
|
|
|
19
19
|
In the `Knowledge base` tab, turn on the `Enable` switch.
|
|
20
20
|
|
|
21
21
|
- In `Knowledge Base Prompt`, enter the prompt for referencing the knowledge base. `{knowledgeBaseData}` is a fixed placeholder and should not be modified.
|
|
22
|
-
- In `Knowledge Base`, select the configured knowledge base. See: [Knowledge Base](
|
|
22
|
+
- In `Knowledge Base`, select the configured knowledge base. See: [Knowledge Base](./knowledge-base/).
|
|
23
23
|
- In the `Top K` input box, enter the number of documents to retrieve, the default is 3.
|
|
24
24
|
- In the `Score` input box, enter the document relevance threshold for retrieval.
|
|
25
25
|
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
pkg: "@nocobase/plugin-ai-knowledge-base"
|
|
3
|
+
title: "Workflow AI knowledge base node - Create document"
|
|
4
|
+
description: "Use a collection event trigger and the AI knowledge base Create document node to synchronize newly added records to the AI knowledge base."
|
|
5
|
+
keywords: "AI knowledge base,workflow,create document,collection event trigger,NocoBase"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Create document
|
|
9
|
+
|
|
10
|
+
<PluginInfo name="ai-knowledge-base"></PluginInfo>
|
|
11
|
+
|
|
12
|
+
## Introduction
|
|
13
|
+
|
|
14
|
+
In NocoBase, the **Create document** node writes new documents to an AI knowledge base from a workflow. In this example, it listens for new records in `Answers` and writes the answer body, document name, related questions, and a stable `Key` to the target knowledge base.
|
|
15
|
+
|
|
16
|
+
AI knowledge base nodes are asynchronous nodes, so the workflow must use asynchronous execution. Prepare the target knowledge base and vector store first. See [Overview](./) for the full scenario.
|
|
17
|
+
|
|
18
|
+
## Workflow structure
|
|
19
|
+
|
|
20
|
+
The example workflow listens for new records in `Answers` and synchronizes each answer as one document in the target knowledge base.
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
Where:
|
|
25
|
+
|
|
26
|
+
- `Collection event` listens for newly added collection records
|
|
27
|
+
- `Create document` writes record content to the AI knowledge base
|
|
28
|
+
|
|
29
|
+
## Before you start
|
|
30
|
+
|
|
31
|
+
The example uses the `Answers` / `Questions` collections and target knowledge base described in [Overview](./). Before configuring the workflow, confirm that:
|
|
32
|
+
|
|
33
|
+
- A Local knowledge base has been created, with file storage and vector store configured. See [Knowledge base overview](../../../knowledge-base/knowledge-base) and [Vector store](../../../knowledge-base/vector-store)
|
|
34
|
+
- The `Answers.questions` relation field is ready. To review the collection structure, return to [Overview](./)
|
|
35
|
+
- The workflow uses asynchronous execution. See [Workflow](../../../../workflow) for the basics
|
|
36
|
+
|
|
37
|
+
## Configure the trigger
|
|
38
|
+
|
|
39
|
+
Create an asynchronous workflow and select `Collection event` as the trigger. In the trigger configuration:
|
|
40
|
+
|
|
41
|
+
- Set `Collection` to the collection to synchronize, such as `Main / Answers`
|
|
42
|
+
- Set `Trigger on` to `After record added`
|
|
43
|
+
- If the document needs fields from related collections, preload relation fields in `Preload associations`
|
|
44
|
+
|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
The example preloads the `questions` relation field so related questions can be written to `Related questions`.
|
|
48
|
+
|
|
49
|
+
## Configure the Create document node
|
|
50
|
+
|
|
51
|
+
Add a `Create document` node after the trigger.
|
|
52
|
+
|
|
53
|
+

|
|
54
|
+
|
|
55
|
+
Key settings:
|
|
56
|
+
|
|
57
|
+
These settings decide the knowledge base document name, body content, splitting behavior, and whether related questions are included.
|
|
58
|
+
|
|
59
|
+
| Setting | Example value | Description |
|
|
60
|
+
| --- | --- | --- |
|
|
61
|
+
| `Knowledge base` | Target knowledge base | Select the same Local knowledge base prepared in the overview. The workflow creates a document in its `Documents` list and then enters splitting and vectorization. |
|
|
62
|
+
| `Split document` | `No` | Controls whether the body is split into multiple segments. In this example, one answer is already a complete response. With splitting disabled, the whole document becomes one segment and works better with `Related questions`. |
|
|
63
|
+
| `Related questions` | `Answers.questions.content` | Only takes effect when `Split document` is disabled. It writes common phrasings into `Related questions` for the current segment. It does not rewrite the body, but participates in retrieval. |
|
|
64
|
+
| `Document type` | `Text` | Creates a knowledge base document from a text field. The example uses a collection field as the answer body, so `Text` is selected. Use `Attachment` if your business collection stores files or file URLs. |
|
|
65
|
+
| `Content` | `Answers.Content` | Select the answer body as the knowledge base document body. The `Content` shown in segment management comes from this field. |
|
|
66
|
+
| `Key` | `Answers.ID` | Sets the unique identifier of the knowledge base document. The example uses the `Answers` record ID so update and delete workflows can find the same document by the same `Key`. |
|
|
67
|
+
| `Name` | `Answers.Title` | Sets the document name. The example uses the answer title, making it easier to identify the document in `Documents`, enter segment management, and run hit tests. |
|
|
68
|
+
|
|
69
|
+
If `Related questions` references relation fields, configure `Preload associations` in the trigger first. Otherwise, the node can only access the current `Answers` record and cannot read the related `questions` data.
|
|
70
|
+
|
|
71
|
+
:::warning Note
|
|
72
|
+
|
|
73
|
+
`Key` is used by the later update and delete workflows. The Create, Update, and Delete workflows must use the same Key rule, usually the business collection record ID.
|
|
74
|
+
|
|
75
|
+
:::
|
|
76
|
+
|
|
77
|
+
## Next step
|
|
78
|
+
|
|
79
|
+
The Create document workflow is the starting point of the synchronization chain. Continue with [Update document](./update-document) and [Delete document](./delete-document), then return to the "Verify the synchronization chain" section in [Overview](./) to verify add, update, and delete in order.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
pkg: "@nocobase/plugin-ai-knowledge-base"
|
|
3
|
+
title: "Workflow AI knowledge base node - Delete document"
|
|
4
|
+
description: "Use a collection event trigger and the AI knowledge base Delete document node to delete knowledge base documents after collection records are deleted."
|
|
5
|
+
keywords: "AI knowledge base,workflow,delete document,collection event trigger,NocoBase"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Delete document
|
|
9
|
+
|
|
10
|
+
<PluginInfo name="ai-knowledge-base"></PluginInfo>
|
|
11
|
+
|
|
12
|
+
## Introduction
|
|
13
|
+
|
|
14
|
+
In NocoBase, the **Delete document** node deletes a specified document from an AI knowledge base. In this example, it listens for deletion events in `Answers` and deletes the corresponding document from the target knowledge base by the same `Key` used by Create document, so removed data is no longer retrieved.
|
|
15
|
+
|
|
16
|
+
The Delete document node is asynchronous. It depends on the `Key` written when the document was created, so it must use the same target knowledge base and the same `Key` rule as the Create and Update document nodes.
|
|
17
|
+
|
|
18
|
+
## Workflow structure
|
|
19
|
+
|
|
20
|
+
The example workflow listens for deletion events in `Answers` and deletes the document with the same `Key` from the target knowledge base.
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
Where:
|
|
25
|
+
|
|
26
|
+
- `Collection event` listens for collection deletion
|
|
27
|
+
- `Delete document` deletes the document from the target knowledge base
|
|
28
|
+
|
|
29
|
+
## Before you start
|
|
30
|
+
|
|
31
|
+
The example uses the target knowledge base and `Key` rule from [Create document](./create-document). Before configuring the workflow, confirm that:
|
|
32
|
+
|
|
33
|
+
- The Create document workflow is enabled and the target knowledge base contains documents with the same `Key`
|
|
34
|
+
- The delete workflow can read this `Key` from trigger data. The example uses the `Answers` record ID
|
|
35
|
+
- If you need to review the full synchronization chain, see the workflow responsibilities in [Overview](./)
|
|
36
|
+
|
|
37
|
+
## Configure the trigger
|
|
38
|
+
|
|
39
|
+
Select `Collection event` as the trigger. In the trigger configuration:
|
|
40
|
+
|
|
41
|
+
- Set `Collection` to the collection to listen to, such as `Main / Answers`
|
|
42
|
+
- Set `Trigger on` to `After record deleted`
|
|
43
|
+
|
|
44
|
+

|
|
45
|
+
|
|
46
|
+
Deleting a document only needs the document `Key`, so relation fields usually do not need to be preloaded.
|
|
47
|
+
|
|
48
|
+
## Configure the Delete document node
|
|
49
|
+
|
|
50
|
+
Add a `Delete document` node after the trigger.
|
|
51
|
+
|
|
52
|
+

|
|
53
|
+
|
|
54
|
+
Key settings:
|
|
55
|
+
|
|
56
|
+
The Delete document node only needs to locate the document to delete. It does not need body content, title, or related questions.
|
|
57
|
+
|
|
58
|
+
| Setting | Example value | Description |
|
|
59
|
+
| --- | --- | --- |
|
|
60
|
+
| `Knowledge base` | Target knowledge base | Select the same knowledge base used by the Create and Update document nodes. |
|
|
61
|
+
| `Key` | `Answers.ID` | Select the exact same field used by the Create document node. The example continues to use the `Answers` record ID so the node deletes the document that corresponds to this answer. |
|
|
62
|
+
|
|
63
|
+
:::warning Note
|
|
64
|
+
|
|
65
|
+
The delete node does not look up documents by title or body content. It only locates documents by `Knowledge base` and `Key`. The Create, Update, and Delete workflows must use the same `Key`.
|
|
66
|
+
|
|
67
|
+
:::
|
|
68
|
+
|
|
69
|
+
## Next step
|
|
70
|
+
|
|
71
|
+
After configuring the Delete document node, return to the "Verify the synchronization chain" section in [Overview](./) to verify add, update, and delete in order.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
pkg: "@nocobase/plugin-ai-knowledge-base"
|
|
3
|
+
title: "Workflow AI knowledge base nodes overview"
|
|
4
|
+
description: "Introduces the workflow AI knowledge base node scenario, collection structure, and how Create, Update, and Delete document nodes synchronize knowledge base content."
|
|
5
|
+
keywords: "AI knowledge base,workflow,collection event trigger,knowledge base synchronization,NocoBase"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Overview
|
|
9
|
+
|
|
10
|
+
<PluginInfo name="ai-knowledge-base"></PluginInfo>
|
|
11
|
+
|
|
12
|
+
## Introduction
|
|
13
|
+
|
|
14
|
+
AI knowledge base nodes allow workflows to manage knowledge base documents directly. When business data changes, you can synchronize added, updated, and deleted records to the knowledge base, keeping knowledge base content aligned with your business collections.
|
|
15
|
+
|
|
16
|
+
This documentation uses a Q&A scenario as an example: administrators maintain standard answers and common phrasings for each answer. Workflows synchronize the answer body and related questions to the same target knowledge base, so AI employees or other processes can later use those knowledge base documents.
|
|
17
|
+
|
|
18
|
+
## Example scenario
|
|
19
|
+
|
|
20
|
+
The example uses two business collections:
|
|
21
|
+
|
|
22
|
+
- `Answers`: stores answer content that can be synchronized to the knowledge base
|
|
23
|
+
- `Questions`: stores common phrasings related to each answer
|
|
24
|
+
|
|
25
|
+

|
|
26
|
+
|
|
27
|
+
`Answers` is the source collection for knowledge base documents. When an answer is added, a document is created. When an answer is changed, the document is updated. When an answer is deleted, the document is removed.
|
|
28
|
+
|
|
29
|
+
`Questions` is not an independent source of knowledge base documents. It is attached to answers through the `Answers.questions` relation field and supplements the different phrasings that can point to the same answer.
|
|
30
|
+
|
|
31
|
+
Before synchronization, prepare a Local knowledge base. You can name it according to your environment. The Create, Update, and Delete workflows only need to select the same knowledge base.
|
|
32
|
+
|
|
33
|
+
## Answers collection structure
|
|
34
|
+
|
|
35
|
+
`Answers` mainly uses three fields:
|
|
36
|
+
|
|
37
|
+
- `Title`: used as the knowledge base document name
|
|
38
|
+
- `Content`: used as the knowledge base document body
|
|
39
|
+
- `questions`: relation to the `Questions` collection for related questions
|
|
40
|
+
|
|
41
|
+

|
|
42
|
+
|
|
43
|
+
`questions` is a one-to-many relation field. Its source collection is `Answers`, target collection is `Questions`, both source key and target key use `ID`, and the foreign key is stored in `Questions`.
|
|
44
|
+
|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
This relation field is preloaded when creating and updating documents. It writes related questions into `Related questions`, so one answer can be retrieved not only by body text but also by common phrasings.
|
|
48
|
+
|
|
49
|
+
:::tip
|
|
50
|
+
|
|
51
|
+
If your knowledge base documents do not need related questions, you do not need a relation field like `questions`. A stable `Key` field and body content are enough for create, update, and delete synchronization.
|
|
52
|
+
|
|
53
|
+
:::
|
|
54
|
+
|
|
55
|
+
## Workflow responsibilities
|
|
56
|
+
|
|
57
|
+
The core of this example is three synchronization workflows. They process the same `Answers` data and write to the same target knowledge base:
|
|
58
|
+
|
|
59
|
+
| Scenario | Trigger | Node | Purpose |
|
|
60
|
+
| --- | --- | --- | --- |
|
|
61
|
+
| Add answer | `Answers` collection `After record added` | `Create document` | Write the new answer to the AI knowledge base |
|
|
62
|
+
| Update answer | `Answers` collection `After record updated` | `Update document` | Update the document by the same `Key` |
|
|
63
|
+
| Delete answer | `Answers` collection `After record deleted` | `Delete document` | Delete the document by the same `Key` |
|
|
64
|
+
|
|
65
|
+
`Key` is the most important field in the synchronization chain. Create, update, and delete workflows must use the same `Key` rule. The example directly uses the record ID of the `Answers` collection.
|
|
66
|
+
|
|
67
|
+
## Operation guides
|
|
68
|
+
|
|
69
|
+
- [Create document](./create-document)
|
|
70
|
+
- [Update document](./update-document)
|
|
71
|
+
- [Delete document](./delete-document)
|
|
72
|
+
- [Retrieve document](./retrieve-document)
|
|
73
|
+
|
|
74
|
+
## Verify the synchronization chain
|
|
75
|
+
|
|
76
|
+
After configuring the Create, Update, and Delete workflows, use the same `Answers` record to verify the full synchronization chain.
|
|
77
|
+
|
|
78
|
+
After adding an answer, check in this order:
|
|
79
|
+
|
|
80
|
+
1. Go to `Documents` in the target knowledge base, confirm that the new document appears, and check that `Status` is `Success`. See [knowledge base document management](../../../knowledge-base/knowledge-base/documents) for details.
|
|
81
|
+
2. Click `Segments` for the document and confirm that `Related questions` includes common phrasings from `Answers.questions`. See [segment management](../../../knowledge-base/knowledge-base/segments) for details.
|
|
82
|
+
3. Go to `Hit tests`, enter a keyword from the answer body or a related question, and confirm that the synchronized answer can be hit. See [hit tests](../../../knowledge-base/knowledge-base/hit-tests) for details.
|
|
83
|
+
|
|
84
|
+
After the add synchronization is correct, update the same `Answers` record and confirm that the target knowledge base document changes. Finally, delete the record and confirm that the corresponding document is removed from the target knowledge base.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
pkg: "@nocobase/plugin-ai-knowledge-base"
|
|
3
|
+
title: "Workflow AI knowledge base node - Retrieve document"
|
|
4
|
+
description: "Use the AI knowledge base Retrieve document node in a workflow to retrieve snippets and provide them as task context for an AI employee node."
|
|
5
|
+
keywords: "AI knowledge base,workflow,retrieve document,AI employee,RAG,NocoBase"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Retrieve document
|
|
9
|
+
|
|
10
|
+
<PluginInfo name="ai-knowledge-base"></PluginInfo>
|
|
11
|
+
|
|
12
|
+
## Introduction
|
|
13
|
+
|
|
14
|
+
In NocoBase, the **Retrieve document** node searches an AI knowledge base in a workflow and returns matched document snippets. It is suitable before an AI employee node: retrieve knowledge base snippets with task input first, then pass the results to the AI employee as task context.
|
|
15
|
+
|
|
16
|
+
The Retrieve document node is asynchronous. Before using it, configure the knowledge base and make sure it already contains vectorized documents.
|
|
17
|
+
|
|
18
|
+
## Workflow structure
|
|
19
|
+
|
|
20
|
+
The example workflow listens for new records in `Questions`, sends matching text to `Retrieve document`, and passes the retrieval result to a downstream `AI employee` node for task processing.
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
Where:
|
|
25
|
+
|
|
26
|
+
- `Collection event` receives task input
|
|
27
|
+
- `Retrieve document` retrieves snippets from the knowledge base
|
|
28
|
+
- `AI employee` processes the task based on snippets
|
|
29
|
+
|
|
30
|
+
In real business workflows, the result generated by the AI employee usually needs to be saved. You can continue with database operation nodes after it. This guide omits those later saving steps to focus on the Retrieve document node.
|
|
31
|
+
|
|
32
|
+
## Before you start
|
|
33
|
+
|
|
34
|
+
This example is an independent retrieval workflow. Before configuring it, confirm that:
|
|
35
|
+
|
|
36
|
+
- The knowledge base already contains vectorized documents. For document maintenance, see [Knowledge base overview](../../../knowledge-base/knowledge-base) and [Create document](./create-document)
|
|
37
|
+
- A data source for matching text is ready. The example uses the `Questions` collection
|
|
38
|
+
- A usable downstream AI employee node is ready. See [AI employee node](../employee/configuration)
|
|
39
|
+
|
|
40
|
+
## Configure the trigger
|
|
41
|
+
|
|
42
|
+
Select `Collection event` as the trigger. In the trigger configuration:
|
|
43
|
+
|
|
44
|
+
- Set `Collection` to the matching-text source collection, such as `Main / Questions`
|
|
45
|
+
- Set `Trigger on` to `After record added`
|
|
46
|
+
|
|
47
|
+

|
|
48
|
+
|
|
49
|
+
Each time an input record is added, the workflow automatically enters retrieval and task processing.
|
|
50
|
+
|
|
51
|
+
## Configure the Retrieve document node
|
|
52
|
+
|
|
53
|
+
Add a `Retrieve document` node after the trigger. It is recommended to change the node key to an easy-to-reference name, such as `retrieve_docs`.
|
|
54
|
+
|
|
55
|
+

|
|
56
|
+
|
|
57
|
+
Key settings:
|
|
58
|
+
|
|
59
|
+
- Select one or more knowledge bases in `Knowledge base`
|
|
60
|
+
- Set `Input matching text` to the matching text field
|
|
61
|
+
- Set `Top K` to the maximum number of snippets to return
|
|
62
|
+
- Set `Score` to the minimum similarity threshold
|
|
63
|
+
|
|
64
|
+
After execution, the node returns an array of document snippets. Each result contains `id`, `content`, `score`, and `metadata`, sorted by `score` from high to low.
|
|
65
|
+
|
|
66
|
+
## Pass the result to the AI employee node
|
|
67
|
+
|
|
68
|
+
In the `AI employee` node, write the retrieval result into the prompt. The example directly references the Retrieve document node output:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
Task input: {{$context.data.f_b2izf5j4xx0}}
|
|
72
|
+
|
|
73
|
+
Knowledge base snippets:
|
|
74
|
+
{{$jobsMapByNodeKey.retrieve_docs}}
|
|
75
|
+
|
|
76
|
+
Use the snippets as context to complete the task. If the snippets are not enough, explain what information is missing.
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+

|
|
80
|
+
|
|
81
|
+
`retrieve_docs` is the key of the retrieval node. If your node key is different, replace it with the actual key.
|
|
82
|
+
|
|
83
|
+
:::tip
|
|
84
|
+
|
|
85
|
+
If you only want to pass snippet text, reference the `content` field in the retrieval result through the variable selector. Passing the whole result array also includes `score` and `metadata`, which helps the AI judge source and relevance.
|
|
86
|
+
|
|
87
|
+
:::
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
pkg: "@nocobase/plugin-ai-knowledge-base"
|
|
3
|
+
title: "Workflow AI knowledge base node - Update document"
|
|
4
|
+
description: "Use a collection event trigger and the AI knowledge base Update document node to synchronize collection updates to the AI knowledge base."
|
|
5
|
+
keywords: "AI knowledge base,workflow,update document,collection event trigger,NocoBase"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Update document
|
|
9
|
+
|
|
10
|
+
<PluginInfo name="ai-knowledge-base"></PluginInfo>
|
|
11
|
+
|
|
12
|
+
## Introduction
|
|
13
|
+
|
|
14
|
+
In NocoBase, the **Update document** node updates existing documents in an AI knowledge base from a workflow. In this example, it listens for updated records in `Answers`, finds the document in the target knowledge base by the same `Key` used by Create document, and rewrites it with the latest fields.
|
|
15
|
+
|
|
16
|
+
The Update document node is asynchronous. It is not used as an independent entry point. It should follow the Create document workflow and use the same target knowledge base and the same `Key` rule as Create and Delete document nodes.
|
|
17
|
+
|
|
18
|
+
## Workflow structure
|
|
19
|
+
|
|
20
|
+
The example workflow listens for updated records in `Answers` and synchronizes the latest answer content to the same document in the target knowledge base.
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
Where:
|
|
25
|
+
|
|
26
|
+
- `Collection event` listens for collection updates
|
|
27
|
+
- `Update document` updates the document with the same `Key` in the target knowledge base
|
|
28
|
+
|
|
29
|
+
## Before you start
|
|
30
|
+
|
|
31
|
+
The example uses the target knowledge base and `Key` rule from [Create document](./create-document). Before configuring the workflow, confirm that:
|
|
32
|
+
|
|
33
|
+
- The Create document workflow is enabled and has created at least one knowledge base document
|
|
34
|
+
- `Key` uses a stable and unique business field. The example uses the `Answers` record ID
|
|
35
|
+
- If updates should also synchronize related questions, preload the `questions` relation field in the trigger
|
|
36
|
+
|
|
37
|
+
## Configure the trigger
|
|
38
|
+
|
|
39
|
+
Select `Collection event` as the trigger. In the trigger configuration:
|
|
40
|
+
|
|
41
|
+
- Set `Collection` to the collection to listen to, such as `Main / Answers`
|
|
42
|
+
- Set `Trigger on` to `After record updated`
|
|
43
|
+
- Use `Changed fields` to limit which field changes trigger the workflow, such as title or body changes
|
|
44
|
+
- If the node needs relation fields, preload them in `Preload associations`
|
|
45
|
+
|
|
46
|
+

|
|
47
|
+
|
|
48
|
+
If `Changed fields` is not selected, any field change triggers this workflow.
|
|
49
|
+
|
|
50
|
+
## Configure the Update document node
|
|
51
|
+
|
|
52
|
+
Add an `Update document` node after the trigger.
|
|
53
|
+
|
|
54
|
+

|
|
55
|
+
|
|
56
|
+
Key settings:
|
|
57
|
+
|
|
58
|
+
Most Update document settings are the same as [Create document](./create-document). Usually, continue using the same target knowledge base, splitting behavior, body field, and title field. If related questions also need to be synchronized, continue using `Answers.questions.content`.
|
|
59
|
+
|
|
60
|
+
The important difference is `Key`: in the Update document node, `Key` is required and must be exactly the same as in the Create document node. The example continues to use `Answers.ID`, so the node can find and overwrite the same knowledge base document.
|
|
61
|
+
|
|
62
|
+
:::warning Note
|
|
63
|
+
|
|
64
|
+
If no document is found for the specified `Key`, the update fails. Before configuring this workflow, make sure the Create document workflow has already created documents with the same `Key`.
|
|
65
|
+
|
|
66
|
+
:::
|
|
67
|
+
|
|
68
|
+
## Next step
|
|
69
|
+
|
|
70
|
+
After configuring the Update document node, continue with [Delete document](./delete-document). After all three workflows are configured, return to the "Verify the synchronization chain" section in [Overview](./) to verify add, update, and delete in order.
|
|
@@ -35,6 +35,10 @@ If you explicitly pass `--env` and it differs from the current env, the CLI asks
|
|
|
35
35
|
|
|
36
36
|
By default, when applicable, the CLI first runs `nb license plugins sync --skip-if-no-license` to synchronize the commercial plugins allowed by the current license. Then local envs automatically complete any required install or upgrade preparation before starting again, and Docker envs complete that step before recreating the container. Whenever the CLI needs to wait for readiness, it checks `__health_check`: it prints one waiting line first, then one progress line every 10 seconds until the app becomes available or times out.
|
|
37
37
|
|
|
38
|
+
## Hook Scripts
|
|
39
|
+
|
|
40
|
+
If the current env saved a hook with `nb init --hook-script`, `nb app restart` runs `afterAppStart(context)` once after the app restarts and passes `__health_check`. It uses `context.phase = 'app-start'` and `context.command = 'app:restart'`.
|
|
41
|
+
|
|
38
42
|
## Related Commands
|
|
39
43
|
|
|
40
44
|
- [`nb app start`](./start.md)
|
|
@@ -34,6 +34,13 @@ nb app start --env local-docker
|
|
|
34
34
|
If you explicitly pass `--env` and it differs from the current env, the CLI asks for confirmation first. In non-interactive terminals or AI agent sessions, add `--yes` yourself or run `nb env use <name>` first and try again.
|
|
35
35
|
|
|
36
36
|
By default, when applicable, the CLI first runs `nb license plugins sync --skip-if-no-license` to synchronize the commercial plugins allowed by the current license. Then local envs automatically complete any required install or upgrade preparation before starting, and Docker envs recreate the app container from saved env config. Whenever the CLI needs to wait for readiness, it checks `__health_check`: it prints one waiting line first, then one progress line every 10 seconds until the app becomes available or times out.
|
|
37
|
+
|
|
38
|
+
## Hook Scripts
|
|
39
|
+
|
|
40
|
+
If the current env saved a hook with `nb init --hook-script`, `nb app start` runs `afterAppStart(context)` after the app actually starts and passes `__health_check`. Installed envs use `context.phase = 'app-start'` and `context.command = 'app:start'`. If the app is already running, this command does not run the hook.
|
|
41
|
+
|
|
42
|
+
For prepared envs created with `--prepare-only`, the first `nb app start` runs `beforeAppInstall(context)`, completes the first install and startup, then runs `afterAppStart(context)`. Both hooks receive `context.phase = 'init'` and `context.command = 'app:start'`.
|
|
43
|
+
|
|
37
44
|
## Related Commands
|
|
38
45
|
|
|
39
46
|
- [`nb app stop`](./stop.md)
|
|
@@ -58,6 +58,12 @@ Step 4 automatically completes any required upgrade preparation for the current
|
|
|
58
58
|
|
|
59
59
|
If the final `nb env update` step fails, the upgrade still counts as successful. The CLI prints a warning and tells you to run `nb env update <envName>` manually afterward.
|
|
60
60
|
|
|
61
|
+
## Hook Scripts
|
|
62
|
+
|
|
63
|
+
If the current env saved a hook with `nb init --hook-script`, `nb app upgrade` passes the upgrade lifecycle to the hook. For npm/Git source, source refresh runs `beforeDependencyInstall(context)` before dependency installation with `context.phase = 'upgrade'` and `context.command = 'app:upgrade'`.
|
|
64
|
+
|
|
65
|
+
The app upgrade startup step then runs `beforeAppInstall(context)`, and after the app starts and passes `__health_check`, it runs `afterAppStart(context)`. Both hooks also use `context.phase = 'upgrade'` and `context.command = 'app:upgrade'`. Docker source does not run `beforeDependencyInstall`, but it does run the app-level hooks.
|
|
66
|
+
|
|
61
67
|
## Related Commands
|
|
62
68
|
|
|
63
69
|
- [`nb source download`](../source/download.md)
|
|
@@ -42,7 +42,7 @@ nb init --env app1 --resume
|
|
|
42
42
|
|
|
43
43
|
`--prepare-only` is intended for flows where the env should be prepared first, then the license is activated, and only after that the app is installed and started.
|
|
44
44
|
|
|
45
|
-
If you want to save the env config
|
|
45
|
+
If you want to save the env config and prepare the database first, while delaying dependency download, app installation, and first startup, you can use:
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
48
|
nb init --env app1 --prepare-only
|
|
@@ -67,6 +67,7 @@ By default, the CLI organizes local files under `app-path` using the following c
|
|
|
67
67
|
|
|
68
68
|
```text
|
|
69
69
|
<app-path>/
|
|
70
|
+
├── .nb/ # CLI metadata for this env, such as hooks.mjs
|
|
70
71
|
├── source/ # Default directory for app source code or downloaded content
|
|
71
72
|
├── storage/ # Runtime data directory
|
|
72
73
|
└── .env # Optional app environment variable file
|
|
@@ -74,6 +75,7 @@ By default, the CLI organizes local files under `app-path` using the following c
|
|
|
74
75
|
|
|
75
76
|
Typically:
|
|
76
77
|
|
|
78
|
+
- `.nb/` stores CLI-managed metadata. A script passed with `--hook-script` is copied to `<app-path>/.nb/hooks.mjs`, so later `nb app upgrade` and local source restore can reuse it
|
|
77
79
|
- `source/` mainly corresponds to the local app directory for npm / Git envs. For Docker envs, the CLI also keeps this default path derivation, but most of the time you do not need to care about it manually. Pay special attention during upgrades: the `source/` directory will be deleted and downloaded again, so do not put files you need to keep here
|
|
78
80
|
- `storage/` is used for runtime data, such as built-in database data, plugins, logs, and more
|
|
79
81
|
- `.env` is an optional app environment variable file. You only need to add it in `<app-path>/.env` when you want to customize environment variables; if this file exists, Docker, npm, and Git install sources will all read it by default
|
|
@@ -101,7 +103,7 @@ If you are following the local UI wizard step by step, you can first use the tab
|
|
|
101
103
|
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
102
104
|
| `Getting started` | `--env`、`--yes`、`--ui`、`--locale`、`--verbose`、`--skip-skills`、`--resume` |
|
|
103
105
|
| `App environment` | `--lang`、`--app-path`、`--app-port`、`--force` |
|
|
104
|
-
| `App source and version` | `--source`、`--version`、`--skip-download`、`--git-url`、`--docker-registry`、`--docker-platform`、`--npm-registry`、`--replace`、`--dev-dependencies`、`--output-dir`、`--docker-save`、`--build`、`--build-dts` |
|
|
106
|
+
| `App source and version` | `--source`、`--version`、`--skip-download`、`--git-url`、`--docker-registry`、`--docker-platform`、`--npm-registry`、`--replace`、`--dev-dependencies`、`--output-dir`、`--docker-save`、`--build`、`--build-dts`、`--hook-script` |
|
|
105
107
|
| `Configure the database` | `--builtin-db`、`--db-dialect`、`--builtin-db-image`、`--db-host`、`--db-port`、`--db-database`、`--db-user`、`--db-password`、`--db-schema`、`--db-table-prefix`、`--db-underscored` |
|
|
106
108
|
| `Create an admin account` | `--root-username`、`--root-email`、`--root-password`、`--root-nickname` |
|
|
107
109
|
| `Remote connection` | `--api-base-url`、`--auth-type`、`--access-token`、`--username`、`--password`、`--skip-auth` |
|
|
@@ -184,6 +186,7 @@ The “Default” below means the value or behavior that `nb init` usually uses
|
|
|
184
186
|
| `--npm-registry` | string | Empty | Registry used for npm/Git download and dependency installation |
|
|
185
187
|
| `--build` / `--no-build` | boolean | `true` | Whether to build after installing npm/Git dependencies |
|
|
186
188
|
| `--build-dts` | boolean | `false` | Whether to generate TypeScript declaration files during npm/Git builds |
|
|
189
|
+
| `--hook-script` | string | None | Copy the specified hook module to `<app-path>/.nb/hooks.mjs` and save it in the env config; supports the `beforeDependencyInstall`, `beforeAppInstall`, and `afterAppStart` lifecycle hooks |
|
|
187
190
|
|
|
188
191
|
## Examples
|
|
189
192
|
|
|
@@ -233,6 +236,40 @@ nb init --env app1 --yes --source git --version latest \
|
|
|
233
236
|
--git-url https://gitee.com/nocobase/nocobase.git
|
|
234
237
|
```
|
|
235
238
|
|
|
239
|
+
### Extend the install flow with a hook script
|
|
240
|
+
|
|
241
|
+
If you need to prepare extra content during installation, pass a local ESM module with `--hook-script`:
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
nb init --env app1 --yes --source git --hook-script ./hooks.mjs
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
The CLI copies this file to `<app-path>/.nb/hooks.mjs` and saves `hookScript: ".nb/hooks.mjs"` in the env config. Later `nb app start`, `nb app restart`, and `nb app upgrade` reuse it from that location.
|
|
248
|
+
|
|
249
|
+
The hook file must default-export an object. Implement only the methods you need:
|
|
250
|
+
|
|
251
|
+
```js
|
|
252
|
+
export default {
|
|
253
|
+
beforeDependencyInstall: async (context) => {
|
|
254
|
+
// Runs after git clone / npm scaffold and before yarn install.
|
|
255
|
+
},
|
|
256
|
+
beforeAppInstall: async (context) => {
|
|
257
|
+
// Runs before the app-level install or upgrade command.
|
|
258
|
+
},
|
|
259
|
+
afterAppStart: async (context) => {
|
|
260
|
+
// Runs after the app actually starts and passes the health check.
|
|
261
|
+
},
|
|
262
|
+
};
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
- `beforeDependencyInstall` only applies to npm/Git source and runs right before the real `yarn install`; Docker source does not run it
|
|
266
|
+
- `beforeAppInstall` runs before app-level install or upgrade commands, and applies to npm/Git/Docker source
|
|
267
|
+
- `afterAppStart` runs after the app actually starts and passes `__health_check`; `nb app start`, `nb app restart`, and `nb app upgrade` may all trigger it
|
|
268
|
+
|
|
269
|
+
`--prepare-only` only saves the env config and copies the hook file. It does not execute hooks. When you later run `nb app start` for the first time, the CLI runs the first-install hooks with `context.phase` set to `init` and `context.command` set to `app:start`.
|
|
270
|
+
|
|
271
|
+
`context` includes lifecycle information such as `phase`, `command`, `source`, `version`, `appPath`, `sourcePath`, `storagePath`, `hookScript`, and `envConfig`. If a hook throws, the current CLI command fails. Because `afterAppStart` can run repeatedly during start, restart, and upgrade flows, keep it idempotent.
|
|
272
|
+
|
|
236
273
|
### Quick install and use basic authentication
|
|
237
274
|
|
|
238
275
|
If you want to quickly install a local app in non-interactive mode and directly save `basic` authentication after installation, you can also write it like this. This way, you do not need to open a browser to complete OAuth.
|
|
@@ -33,6 +33,7 @@ nb source download [flags]
|
|
|
33
33
|
| `--npm-registry` | string | Registry used for npm/Git downloads and dependency installation |
|
|
34
34
|
| `--build` / `--no-build` | boolean | Whether to build after npm/Git dependency installation |
|
|
35
35
|
| `--build-dts` | boolean | Whether to generate TypeScript declaration files during npm/Git build |
|
|
36
|
+
| `--hook-script` | string | Hook module to run after npm scaffold or Git clone and before dependency installation; only applies to npm/Git source |
|
|
36
37
|
|
|
37
38
|
## Examples
|
|
38
39
|
|
|
@@ -47,8 +48,26 @@ nb source download --source git --version alpha --git-url=git@github.com:nocobas
|
|
|
47
48
|
nb source download --source git --version fix/cli-v2
|
|
48
49
|
nb source download -y --source npm --version alpha --build-dts
|
|
49
50
|
nb source download -y --source npm --version alpha --npm-registry=https://registry.npmmirror.com
|
|
51
|
+
nb source download -y --source git --version beta --hook-script ./hooks.mjs
|
|
50
52
|
```
|
|
51
53
|
|
|
54
|
+
## Pre-install hook
|
|
55
|
+
|
|
56
|
+
`--hook-script` only affects the current `nb source download` run. If you want the hook to be saved with the env and reused by `nb app upgrade` or local source restore, pass it through [`nb init --hook-script`](../init.md) instead.
|
|
57
|
+
|
|
58
|
+
The hook file must default-export an object with `beforeDependencyInstall(context)`:
|
|
59
|
+
|
|
60
|
+
```js
|
|
61
|
+
export default {
|
|
62
|
+
beforeDependencyInstall: async ({ sourcePath, version, envConfig }) => {
|
|
63
|
+
// Runs after git clone / npm scaffold and before yarn install.
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
When you run `nb source download --hook-script` directly, `beforeDependencyInstall` receives `context.phase` as `source-download` and `context.command` as `source:download`. This command does not run `beforeAppInstall` or `afterAppStart`; those hooks belong to app install, start, restart, and upgrade flows.
|
|
69
|
+
|
|
70
|
+
|
|
52
71
|
## Version Aliases
|
|
53
72
|
|
|
54
73
|
With Git source, common dist-tags are resolved to branches: `latest` -> `main`, `beta` -> `next`, `alpha` -> `develop`.
|