n8n 1.120.3 → 1.121.0
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/abstract-server.d.ts +1 -1
- package/dist/abstract-server.js +4 -4
- package/dist/abstract-server.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chat/utils.js +5 -3
- package/dist/chat/utils.js.map +1 -1
- package/dist/commands/base-command.js +2 -2
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/execute-batch.d.ts +1 -1
- package/dist/commands/execute.d.ts +2 -2
- package/dist/commands/export/credentials.d.ts +2 -2
- package/dist/commands/export/entities.d.ts +3 -0
- package/dist/commands/export/entities.js +9 -2
- package/dist/commands/export/entities.js.map +1 -1
- package/dist/commands/export/workflow.d.ts +2 -2
- package/dist/commands/import/credentials.d.ts +2 -2
- package/dist/commands/import/entities.d.ts +3 -0
- package/dist/commands/import/entities.js +10 -2
- package/dist/commands/import/entities.js.map +1 -1
- package/dist/commands/import/workflow.d.ts +2 -2
- package/dist/commands/ttwf/generate.d.ts +3 -3
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/controllers/auth.controller.js +4 -0
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/e2e.controller.js +0 -1
- package/dist/controllers/e2e.controller.js.map +1 -1
- package/dist/controllers/invitation.controller.js +8 -4
- package/dist/controllers/invitation.controller.js.map +1 -1
- package/dist/credentials/credentials.service.d.ts +2 -0
- package/dist/credentials/credentials.service.js +33 -10
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +11 -23
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-sentry.ee.js +1 -0
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-sentry.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-syslog.ee.js +1 -0
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-syslog.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-webhook.ee.d.ts +4 -2
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-webhook.ee.js +55 -29
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-webhook.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.d.ts +2 -0
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.js +23 -1
- package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.js.map +1 -1
- package/dist/execution-lifecycle/execute-error-workflow.js +1 -0
- package/dist/execution-lifecycle/execute-error-workflow.js.map +1 -1
- package/dist/execution-lifecycle/save-execution-progress.d.ts +1 -1
- package/dist/execution-lifecycle/save-execution-progress.js +2 -13
- package/dist/execution-lifecycle/save-execution-progress.js.map +1 -1
- package/dist/executions/execution.service.js +1 -45
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/interfaces.d.ts +2 -1
- package/dist/ldap.ee/constants.d.ts +3 -0
- package/dist/ldap.ee/constants.js +4 -0
- package/dist/ldap.ee/constants.js.map +1 -1
- package/dist/ldap.ee/ldap.service.ee.d.ts +1 -0
- package/dist/ldap.ee/ldap.service.ee.js +26 -0
- package/dist/ldap.ee/ldap.service.ee.js.map +1 -1
- package/dist/license.d.ts +0 -1
- package/dist/license.js +2 -4
- package/dist/license.js.map +1 -1
- package/dist/manual-execution.service.js +6 -5
- package/dist/manual-execution.service.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.controller.d.ts +1 -2
- package/dist/modules/breaking-changes/breaking-changes.controller.js +1 -1
- package/dist/modules/breaking-changes/breaking-changes.controller.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.service.d.ts +3 -3
- package/dist/modules/breaking-changes/breaking-changes.service.js +16 -11
- package/dist/modules/breaking-changes/breaking-changes.service.js.map +1 -1
- package/dist/modules/breaking-changes/rules/index.d.ts +1 -1
- package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.d.ts +9 -0
- package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.js +70 -0
- package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/cli-activate-all-workflows.rule.d.ts +6 -0
- package/dist/modules/breaking-changes/rules/v2/cli-activate-all-workflows.rule.js +53 -0
- package/dist/modules/breaking-changes/rules/v2/cli-activate-all-workflows.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/disabled-nodes.rule.d.ts +11 -0
- package/dist/modules/breaking-changes/rules/v2/disabled-nodes.rule.js +64 -0
- package/dist/modules/breaking-changes/rules/v2/disabled-nodes.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/dotenv-upgrade.rule.d.ts +7 -0
- package/dist/modules/breaking-changes/rules/v2/dotenv-upgrade.rule.js +74 -0
- package/dist/modules/breaking-changes/rules/v2/dotenv-upgrade.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/file-access.rule.d.ts +4 -4
- package/dist/modules/breaking-changes/rules/v2/file-access.rule.js +3 -2
- package/dist/modules/breaking-changes/rules/v2/file-access.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/git-node-bare-repos.rule.d.ts +10 -0
- package/dist/modules/breaking-changes/rules/v2/git-node-bare-repos.rule.js +66 -0
- package/dist/modules/breaking-changes/rules/v2/git-node-bare-repos.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/index.d.ts +8 -2
- package/dist/modules/breaking-changes/rules/v2/index.js +35 -1
- package/dist/modules/breaking-changes/rules/v2/index.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.d.ts +6 -0
- package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js +51 -0
- package/dist/modules/breaking-changes/rules/v2/oauth-callback-auth.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js +8 -1
- package/dist/modules/breaking-changes/rules/v2/process-env-access.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.d.ts +10 -0
- package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js +65 -0
- package/dist/modules/breaking-changes/rules/v2/pyodide-removed.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/queue-worker-max-stalled-count.rule.d.ts +6 -0
- package/dist/modules/breaking-changes/rules/v2/queue-worker-max-stalled-count.rule.js +51 -0
- package/dist/modules/breaking-changes/rules/v2/queue-worker-max-stalled-count.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.d.ts +9 -0
- package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.js +57 -0
- package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.d.ts +3 -3
- package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js +3 -2
- package/dist/modules/breaking-changes/rules/v2/removed-nodes.rule.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/settings-file-permissions.rule.d.ts +9 -0
- package/dist/modules/breaking-changes/rules/v2/settings-file-permissions.rule.js +70 -0
- package/dist/modules/breaking-changes/rules/v2/settings-file-permissions.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/sqlite-legacy-driver.rule.d.ts +9 -0
- package/dist/modules/breaking-changes/rules/v2/sqlite-legacy-driver.rule.js +75 -0
- package/dist/modules/breaking-changes/rules/v2/sqlite-legacy-driver.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.d.ts +6 -0
- package/dist/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.js +57 -0
- package/dist/modules/breaking-changes/rules/v2/task-runner-docker-image.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/task-runners.rule.d.ts +9 -0
- package/dist/modules/breaking-changes/rules/v2/task-runners.rule.js +64 -0
- package/dist/modules/breaking-changes/rules/v2/task-runners.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/tunnel-option.rule.d.ts +6 -0
- package/dist/modules/breaking-changes/rules/v2/tunnel-option.rule.js +44 -0
- package/dist/modules/breaking-changes/rules/v2/tunnel-option.rule.js.map +1 -0
- package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.d.ts +12 -0
- package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.js +112 -0
- package/dist/modules/breaking-changes/rules/v2/wait-node-subworkflow.rule.js.map +1 -0
- package/dist/modules/breaking-changes/types/rule.types.d.ts +1 -2
- package/dist/modules/breaking-changes/types/rule.types.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-agent.entity.d.ts +2 -0
- package/dist/modules/chat-hub/chat-hub-agent.entity.js +4 -0
- package/dist/modules/chat-hub/chat-hub-agent.entity.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-agent.service.d.ts +3 -0
- package/dist/modules/chat-hub/chat-hub-agent.service.js +3 -0
- package/dist/modules/chat-hub/chat-hub-agent.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-session.entity.d.ts +2 -0
- package/dist/modules/chat-hub/chat-hub-session.entity.js +4 -0
- package/dist/modules/chat-hub/chat-hub-session.entity.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +3 -2
- package/dist/modules/chat-hub/chat-hub-workflow.service.js +64 -30
- package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.controller.d.ts +1 -1
- package/dist/modules/chat-hub/chat-hub.controller.js +2 -2
- package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.service.d.ts +8 -7
- package/dist/modules/chat-hub/chat-hub.service.js +65 -70
- package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.types.d.ts +3 -10
- package/dist/modules/data-table/data-table-rows.repository.d.ts +2 -1
- package/dist/modules/data-table/data-table-rows.repository.js +38 -3
- package/dist/modules/data-table/data-table-rows.repository.js.map +1 -1
- package/dist/modules/data-table/data-table.service.d.ts +1 -1
- package/dist/modules/data-table/data-table.service.js +2 -2
- package/dist/modules/data-table/data-table.service.js.map +1 -1
- package/dist/modules/mcp/mcp.constants.d.ts +6 -0
- package/dist/modules/mcp/mcp.constants.js +8 -1
- package/dist/modules/mcp/mcp.constants.js.map +1 -1
- package/dist/modules/mcp/mcp.errors.d.ts +6 -0
- package/dist/modules/mcp/mcp.errors.js +16 -0
- package/dist/modules/mcp/mcp.errors.js.map +1 -0
- package/dist/modules/mcp/mcp.service.d.ts +5 -1
- package/dist/modules/mcp/mcp.service.js +11 -2
- package/dist/modules/mcp/mcp.service.js.map +1 -1
- package/dist/modules/mcp/mcp.settings.controller.js +5 -4
- package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.types.d.ts +18 -0
- package/dist/modules/mcp/mcp.utils.d.ts +3 -1
- package/dist/modules/mcp/mcp.utils.js +7 -1
- package/dist/modules/mcp/mcp.utils.js.map +1 -1
- package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +107 -0
- package/dist/modules/mcp/tools/execute-workflow.tool.js +308 -0
- package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -0
- package/dist/modules/mcp/tools/get-workflow-details.tool.js +11 -5
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/modules/mcp/tools/schemas.d.ts +5 -0
- package/dist/modules/mcp/tools/schemas.js +1 -0
- package/dist/modules/mcp/tools/schemas.js.map +1 -1
- package/dist/modules/mcp/tools/search-workflows.tool.js +24 -8
- package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
- package/dist/modules/mcp/tools/webhook-utils.d.ts +2 -1
- package/dist/modules/mcp/tools/webhook-utils.js +68 -4
- package/dist/modules/mcp/tools/webhook-utils.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js +3 -3
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/services/credentials-tester.service.js +1 -5
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/dynamic-node-parameters.service.js +1 -1
- package/dist/services/dynamic-node-parameters.service.js.map +1 -1
- package/dist/services/export.service.d.ts +1 -1
- package/dist/services/export.service.js +16 -5
- package/dist/services/export.service.js.map +1 -1
- package/dist/services/frontend.service.js +3 -11
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/import.service.d.ts +4 -4
- package/dist/services/import.service.js +20 -9
- package/dist/services/import.service.js.map +1 -1
- package/dist/sso.ee/oidc/oidc.service.ee.d.ts +1 -1
- package/dist/sso.ee/oidc/oidc.service.ee.js +5 -0
- package/dist/sso.ee/oidc/oidc.service.ee.js.map +1 -1
- package/dist/sso.ee/oidc/routes/oidc.controller.ee.d.ts +1 -1
- package/dist/sso.ee/sso-helpers.d.ts +1 -0
- package/dist/sso.ee/sso-helpers.js +6 -0
- package/dist/sso.ee/sso-helpers.js.map +1 -1
- package/dist/task-runners/errors/task-request-timeout.error.d.ts +8 -0
- package/dist/task-runners/errors/task-request-timeout.error.js +19 -0
- package/dist/task-runners/errors/task-request-timeout.error.js.map +1 -0
- package/dist/task-runners/task-broker/task-broker.service.d.ts +3 -0
- package/dist/task-runners/task-broker/task-broker.service.js +22 -0
- package/dist/task-runners/task-broker/task-broker.service.js.map +1 -1
- package/dist/task-runners/task-managers/local-task-requester.d.ts +3 -1
- package/dist/task-runners/task-managers/local-task-requester.js +9 -3
- package/dist/task-runners/task-managers/local-task-requester.js.map +1 -1
- package/dist/task-runners/task-managers/task-requester.d.ts +8 -2
- package/dist/task-runners/task-managers/task-requester.js +34 -2
- package/dist/task-runners/task-managers/task-requester.js.map +1 -1
- package/dist/utils/circuit-breaker.d.ts +36 -0
- package/dist/utils/circuit-breaker.js +118 -0
- package/dist/utils/circuit-breaker.js.map +1 -0
- package/dist/utils/sliding-window.d.ts +13 -0
- package/dist/utils/sliding-window.js +27 -0
- package/dist/utils/sliding-window.js.map +1 -0
- package/dist/webhooks/webhook-helpers.js +5 -17
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/webhooks/webhook.service.js +26 -3
- package/dist/webhooks/webhook.service.js.map +1 -1
- package/dist/workflow-execute-additional-data.d.ts +1 -1
- package/dist/workflow-execute-additional-data.js +4 -13
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflows/workflow-execution.service.js +12 -25
- package/dist/workflows/workflow-execution.service.js.map +1 -1
- package/dist/workflows/{workflow-history.ee/workflow-history-helper.ee.d.ts → workflow-history/workflow-history-helper.d.ts} +0 -2
- package/dist/workflows/{workflow-history.ee/workflow-history-helper.ee.js → workflow-history/workflow-history-helper.js} +1 -10
- package/dist/workflows/workflow-history/workflow-history-helper.js.map +1 -0
- package/dist/workflows/{workflow-history.ee/workflow-history-manager.ee.js → workflow-history/workflow-history-manager.js} +4 -7
- package/dist/workflows/workflow-history/workflow-history-manager.js.map +1 -0
- package/dist/workflows/{workflow-history.ee/workflow-history.controller.ee.d.ts → workflow-history/workflow-history.controller.d.ts} +1 -4
- package/dist/workflows/{workflow-history.ee/workflow-history.controller.ee.js → workflow-history/workflow-history.controller.js} +4 -33
- package/dist/workflows/workflow-history/workflow-history.controller.js.map +1 -0
- package/dist/workflows/{workflow-history.ee/workflow-history.service.ee.js → workflow-history/workflow-history.service.js} +18 -18
- package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -0
- package/dist/workflows/workflow.service.d.ts +1 -1
- package/dist/workflows/workflow.service.js +15 -8
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +1 -1
- package/dist/workflows/workflows.controller.js +2 -2
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +15 -15
- package/templates/form-trigger.handlebars +2 -3
- package/dist/workflows/workflow-history.ee/workflow-history-helper.ee.js.map +0 -1
- package/dist/workflows/workflow-history.ee/workflow-history-manager.ee.js.map +0 -1
- package/dist/workflows/workflow-history.ee/workflow-history.controller.ee.js.map +0 -1
- package/dist/workflows/workflow-history.ee/workflow-history.service.ee.js.map +0 -1
- /package/dist/workflows/{workflow-history.ee/workflow-history-manager.ee.d.ts → workflow-history/workflow-history-manager.d.ts} +0 -0
- /package/dist/workflows/{workflow-history.ee/workflow-history.service.ee.d.ts → workflow-history/workflow-history.service.d.ts} +0 -0
|
@@ -15,6 +15,13 @@ const backend_common_1 = require("@n8n/backend-common");
|
|
|
15
15
|
const db_1 = require("@n8n/db");
|
|
16
16
|
const di_1 = require("@n8n/di");
|
|
17
17
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
18
|
+
const chat_hub_agent_service_1 = require("./chat-hub-agent.service");
|
|
19
|
+
const chat_hub_credentials_service_1 = require("./chat-hub-credentials.service");
|
|
20
|
+
const chat_hub_workflow_service_1 = require("./chat-hub-workflow.service");
|
|
21
|
+
const chat_hub_constants_1 = require("./chat-hub.constants");
|
|
22
|
+
const chat_message_repository_1 = require("./chat-message.repository");
|
|
23
|
+
const chat_session_repository_1 = require("./chat-session.repository");
|
|
24
|
+
const stream_capturer_1 = require("./stream-capturer");
|
|
18
25
|
const active_executions_1 = require("../../active-executions");
|
|
19
26
|
const credentials_finder_service_1 = require("../../credentials/credentials-finder.service");
|
|
20
27
|
const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
|
|
@@ -25,13 +32,6 @@ const workflow_execute_additional_data_1 = require("../../workflow-execute-addit
|
|
|
25
32
|
const workflow_execution_service_1 = require("../../workflows/workflow-execution.service");
|
|
26
33
|
const workflow_finder_service_1 = require("../../workflows/workflow-finder.service");
|
|
27
34
|
const workflow_service_1 = require("../../workflows/workflow.service");
|
|
28
|
-
const chat_hub_agent_service_1 = require("./chat-hub-agent.service");
|
|
29
|
-
const chat_hub_credentials_service_1 = require("./chat-hub-credentials.service");
|
|
30
|
-
const chat_hub_workflow_service_1 = require("./chat-hub-workflow.service");
|
|
31
|
-
const chat_hub_constants_1 = require("./chat-hub.constants");
|
|
32
|
-
const chat_message_repository_1 = require("./chat-message.repository");
|
|
33
|
-
const chat_session_repository_1 = require("./chat-session.repository");
|
|
34
|
-
const stream_capturer_1 = require("./stream-capturer");
|
|
35
35
|
let ChatHubService = class ChatHubService {
|
|
36
36
|
constructor(logger, executionService, nodeParametersService, executionRepository, workflowExecutionService, workflowService, workflowFinderService, workflowRepository, activeExecutions, sessionRepository, messageRepository, credentialsFinderService, chatHubAgentService, chatHubCredentialsService, chatHubWorkflowService) {
|
|
37
37
|
this.logger = logger;
|
|
@@ -255,24 +255,24 @@ let ChatHubService = class ChatHubService {
|
|
|
255
255
|
return credentials[api_types_1.PROVIDER_CREDENTIAL_TYPE_MAP[provider]]?.id ?? null;
|
|
256
256
|
}
|
|
257
257
|
async sendHumanMessage(res, user, payload) {
|
|
258
|
-
const { sessionId, messageId, message, model, credentials, previousMessageId } = payload;
|
|
259
|
-
const
|
|
260
|
-
const selectedModel = this.getModelWithCredentials(model, credentials);
|
|
258
|
+
const { sessionId, messageId, message, model, credentials, previousMessageId, tools } = payload;
|
|
259
|
+
const credentialId = this.getModelCredential(model, credentials);
|
|
261
260
|
const { executionData, workflowData } = await this.messageRepository.manager.transaction(async (trx) => {
|
|
262
|
-
|
|
261
|
+
let session = await this.getChatSession(user, sessionId, trx);
|
|
262
|
+
session ??= await this.createChatSession(user, sessionId, model, credentialId, tools, trx);
|
|
263
263
|
await this.ensurePreviousMessage(previousMessageId, sessionId, trx);
|
|
264
264
|
const messages = Object.fromEntries((session.messages ?? []).map((m) => [m.id, m]));
|
|
265
265
|
const history = this.buildMessageHistory(messages, previousMessageId);
|
|
266
|
-
await this.saveHumanMessage(payload, user, previousMessageId,
|
|
267
|
-
if (provider === 'n8n') {
|
|
266
|
+
await this.saveHumanMessage(payload, user, previousMessageId, model, undefined, trx);
|
|
267
|
+
if (model.provider === 'n8n') {
|
|
268
268
|
return await this.prepareCustomAgentWorkflow(user, sessionId, model.workflowId, message);
|
|
269
269
|
}
|
|
270
|
-
if (provider === 'custom-agent') {
|
|
270
|
+
if (model.provider === 'custom-agent') {
|
|
271
271
|
return await this.prepareChatAgentWorkflow(model.agentId, user, sessionId, history, message, trx);
|
|
272
272
|
}
|
|
273
|
-
return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, trx);
|
|
273
|
+
return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, session.tools, trx);
|
|
274
274
|
});
|
|
275
|
-
await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, messageId,
|
|
275
|
+
await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, messageId, model);
|
|
276
276
|
if (previousMessageId === null) {
|
|
277
277
|
await this.generateSessionTitle(user, sessionId, message, credentials, model).catch((error) => {
|
|
278
278
|
this.logger.error(`Title generation failed: ${error}`);
|
|
@@ -281,10 +281,11 @@ let ChatHubService = class ChatHubService {
|
|
|
281
281
|
}
|
|
282
282
|
async editMessage(res, user, payload) {
|
|
283
283
|
const { sessionId, editId, messageId, message, model, credentials } = payload;
|
|
284
|
-
const { provider } = model;
|
|
285
|
-
const selectedModel = this.getModelWithCredentials(model, credentials);
|
|
286
284
|
const workflow = await this.messageRepository.manager.transaction(async (trx) => {
|
|
287
|
-
const session = await this.getChatSession(user, sessionId,
|
|
285
|
+
const session = await this.getChatSession(user, sessionId, trx);
|
|
286
|
+
if (!session) {
|
|
287
|
+
throw new not_found_error_1.NotFoundError('Chat session not found');
|
|
288
|
+
}
|
|
288
289
|
const messageToEdit = await this.getChatMessage(session.id, editId, [], trx);
|
|
289
290
|
if (!['ai', 'human'].includes(messageToEdit.type)) {
|
|
290
291
|
throw new bad_request_error_1.BadRequestError('Only human and AI messages can be edited');
|
|
@@ -297,14 +298,14 @@ let ChatHubService = class ChatHubService {
|
|
|
297
298
|
const messages = Object.fromEntries((session.messages ?? []).map((m) => [m.id, m]));
|
|
298
299
|
const history = this.buildMessageHistory(messages, messageToEdit.previousMessageId);
|
|
299
300
|
const revisionOfMessageId = messageToEdit.revisionOfMessageId ?? messageToEdit.id;
|
|
300
|
-
await this.saveHumanMessage(payload, user, messageToEdit.previousMessageId,
|
|
301
|
-
if (provider === 'n8n') {
|
|
301
|
+
await this.saveHumanMessage(payload, user, messageToEdit.previousMessageId, model, revisionOfMessageId, trx);
|
|
302
|
+
if (model.provider === 'n8n') {
|
|
302
303
|
return await this.prepareCustomAgentWorkflow(user, sessionId, model.workflowId, message);
|
|
303
304
|
}
|
|
304
|
-
if (provider === 'custom-agent') {
|
|
305
|
+
if (model.provider === 'custom-agent') {
|
|
305
306
|
return await this.prepareChatAgentWorkflow(model.agentId, user, sessionId, history, message, trx);
|
|
306
307
|
}
|
|
307
|
-
return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, trx);
|
|
308
|
+
return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, session.tools, trx);
|
|
308
309
|
}
|
|
309
310
|
return null;
|
|
310
311
|
});
|
|
@@ -312,14 +313,16 @@ let ChatHubService = class ChatHubService {
|
|
|
312
313
|
return;
|
|
313
314
|
}
|
|
314
315
|
const { workflowData, executionData } = workflow;
|
|
315
|
-
await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, messageId,
|
|
316
|
+
await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, messageId, model);
|
|
316
317
|
}
|
|
317
318
|
async regenerateAIMessage(res, user, payload) {
|
|
318
319
|
const { sessionId, retryId, model, credentials } = payload;
|
|
319
320
|
const { provider } = model;
|
|
320
|
-
const selectedModel = this.getModelWithCredentials(model, credentials);
|
|
321
321
|
const { workflow: { workflowData, executionData }, retryOfMessageId, previousMessageId, } = await this.messageRepository.manager.transaction(async (trx) => {
|
|
322
|
-
const session = await this.getChatSession(user, sessionId,
|
|
322
|
+
const session = await this.getChatSession(user, sessionId, trx);
|
|
323
|
+
if (!session) {
|
|
324
|
+
throw new not_found_error_1.NotFoundError('Chat session not found');
|
|
325
|
+
}
|
|
323
326
|
const messageToRetry = await this.getChatMessage(session.id, retryId, [], trx);
|
|
324
327
|
if (messageToRetry.type !== 'ai') {
|
|
325
328
|
throw new bad_request_error_1.BadRequestError('Can only retry AI messages');
|
|
@@ -344,7 +347,7 @@ let ChatHubService = class ChatHubService {
|
|
|
344
347
|
workflow = await this.prepareChatAgentWorkflow(model.agentId, user, sessionId, history, message, trx);
|
|
345
348
|
}
|
|
346
349
|
else {
|
|
347
|
-
workflow = await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, trx);
|
|
350
|
+
workflow = await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, undefined, session.tools, trx);
|
|
348
351
|
}
|
|
349
352
|
return {
|
|
350
353
|
workflow,
|
|
@@ -352,11 +355,11 @@ let ChatHubService = class ChatHubService {
|
|
|
352
355
|
retryOfMessageId,
|
|
353
356
|
};
|
|
354
357
|
});
|
|
355
|
-
await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, previousMessageId,
|
|
358
|
+
await this.executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, previousMessageId, model, retryOfMessageId);
|
|
356
359
|
}
|
|
357
|
-
async prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, systemMessage, trx) {
|
|
360
|
+
async prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, systemMessage, tools, trx) {
|
|
358
361
|
const credential = await this.chatHubCredentialsService.ensureCredentials(user, model.provider, credentials, trx);
|
|
359
|
-
return await this.chatHubWorkflowService.createChatWorkflow(user.id, sessionId, credential.projectId, history, message, credentials, model, systemMessage, trx);
|
|
362
|
+
return await this.chatHubWorkflowService.createChatWorkflow(user.id, sessionId, credential.projectId, history, message, credentials, model, systemMessage, tools, trx);
|
|
360
363
|
}
|
|
361
364
|
async prepareChatAgentWorkflow(agentId, user, sessionId, history, message, trx) {
|
|
362
365
|
const agent = await this.chatHubAgentService.getAgentById(agentId, user.id);
|
|
@@ -384,7 +387,8 @@ let ChatHubService = class ChatHubService {
|
|
|
384
387
|
name: '',
|
|
385
388
|
},
|
|
386
389
|
};
|
|
387
|
-
|
|
390
|
+
const tools = [];
|
|
391
|
+
return await this.prepareBaseChatWorkflow(user, sessionId, credentials, model, history, message, systemMessage, tools, trx);
|
|
388
392
|
}
|
|
389
393
|
async prepareCustomAgentWorkflow(user, sessionId, workflowId, message) {
|
|
390
394
|
const workflowEntity = await this.workflowFinderService.findWorkflowForUser(workflowId, user, ['workflow:read'], { includeTags: false, includeParentFolder: false });
|
|
@@ -419,22 +423,14 @@ let ChatHubService = class ChatHubService {
|
|
|
419
423
|
source: null,
|
|
420
424
|
},
|
|
421
425
|
];
|
|
422
|
-
const executionData = {
|
|
423
|
-
startData: {},
|
|
424
|
-
resultData: {
|
|
425
|
-
runData: {},
|
|
426
|
-
},
|
|
426
|
+
const executionData = (0, n8n_workflow_1.createRunExecutionData)({
|
|
427
427
|
executionData: {
|
|
428
|
-
contextData: {},
|
|
429
|
-
metadata: {},
|
|
430
428
|
nodeExecutionStack,
|
|
431
|
-
waitingExecution: {},
|
|
432
|
-
waitingExecutionSource: {},
|
|
433
429
|
},
|
|
434
430
|
manualData: {
|
|
435
431
|
userId: user.id,
|
|
436
432
|
},
|
|
437
|
-
};
|
|
433
|
+
});
|
|
438
434
|
return {
|
|
439
435
|
workflowData: {
|
|
440
436
|
...workflowEntity,
|
|
@@ -453,6 +449,9 @@ let ChatHubService = class ChatHubService {
|
|
|
453
449
|
}
|
|
454
450
|
async stopGeneration(user, sessionId, messageId) {
|
|
455
451
|
const session = await this.getChatSession(user, sessionId);
|
|
452
|
+
if (!session) {
|
|
453
|
+
throw new not_found_error_1.NotFoundError('Chat session not found');
|
|
454
|
+
}
|
|
456
455
|
const message = await this.getChatMessage(session.id, messageId, [
|
|
457
456
|
'execution',
|
|
458
457
|
'execution.workflow',
|
|
@@ -469,7 +468,7 @@ let ChatHubService = class ChatHubService {
|
|
|
469
468
|
await this.executionService.stop(message.execution.id, [message.execution.workflowId]);
|
|
470
469
|
await this.messageRepository.updateChatMessage(messageId, { status: 'cancelled' });
|
|
471
470
|
}
|
|
472
|
-
async executeChatWorkflow(res, user, workflowData, executionData, sessionId, previousMessageId,
|
|
471
|
+
async executeChatWorkflow(res, user, workflowData, executionData, sessionId, previousMessageId, model, retryOfMessageId = null) {
|
|
473
472
|
this.logger.debug(`Starting execution of workflow "${workflowData.name}" with ID ${workflowData.id}`);
|
|
474
473
|
let executionId = undefined;
|
|
475
474
|
const aggregator = (0, stream_capturer_1.createStructuredChunkAggregator)(previousMessageId, retryOfMessageId, {
|
|
@@ -478,7 +477,7 @@ let ChatHubService = class ChatHubService {
|
|
|
478
477
|
...message,
|
|
479
478
|
sessionId,
|
|
480
479
|
executionId,
|
|
481
|
-
|
|
480
|
+
model,
|
|
482
481
|
retryOfMessageId,
|
|
483
482
|
});
|
|
484
483
|
},
|
|
@@ -555,12 +554,12 @@ let ChatHubService = class ChatHubService {
|
|
|
555
554
|
throw error;
|
|
556
555
|
}
|
|
557
556
|
}
|
|
558
|
-
async executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, previousMessageId,
|
|
557
|
+
async executeChatWorkflowWithCleanup(res, user, workflowData, executionData, sessionId, previousMessageId, model, retryOfMessageId = null) {
|
|
559
558
|
try {
|
|
560
|
-
await this.executeChatWorkflow(res, user, workflowData, executionData, sessionId, previousMessageId,
|
|
559
|
+
await this.executeChatWorkflow(res, user, workflowData, executionData, sessionId, previousMessageId, model, retryOfMessageId);
|
|
561
560
|
}
|
|
562
561
|
finally {
|
|
563
|
-
if (provider !== 'n8n') {
|
|
562
|
+
if (model.provider !== 'n8n') {
|
|
564
563
|
await this.deleteChatWorkflow(workflowData.id);
|
|
565
564
|
}
|
|
566
565
|
}
|
|
@@ -709,7 +708,7 @@ let ChatHubService = class ChatHubService {
|
|
|
709
708
|
const title = this.getAIOutput(execution, chat_hub_constants_1.NODE_NAMES.TITLE_GENERATOR_AGENT);
|
|
710
709
|
return title ?? null;
|
|
711
710
|
}
|
|
712
|
-
async saveHumanMessage(payload, user, previousMessageId,
|
|
711
|
+
async saveHumanMessage(payload, user, previousMessageId, model, revisionOfMessageId, trx) {
|
|
713
712
|
await this.messageRepository.createChatMessage({
|
|
714
713
|
id: payload.messageId,
|
|
715
714
|
sessionId: payload.sessionId,
|
|
@@ -718,11 +717,11 @@ let ChatHubService = class ChatHubService {
|
|
|
718
717
|
content: payload.message,
|
|
719
718
|
previousMessageId,
|
|
720
719
|
revisionOfMessageId,
|
|
721
|
-
...selectedModel,
|
|
722
720
|
name: user.firstName || 'User',
|
|
721
|
+
...model,
|
|
723
722
|
}, trx);
|
|
724
723
|
}
|
|
725
|
-
async saveAIMessage({ id, sessionId, executionId, previousMessageId, content,
|
|
724
|
+
async saveAIMessage({ id, sessionId, executionId, previousMessageId, content, model, retryOfMessageId, status, }) {
|
|
726
725
|
await this.messageRepository.createChatMessage({
|
|
727
726
|
id,
|
|
728
727
|
sessionId,
|
|
@@ -733,35 +732,27 @@ let ChatHubService = class ChatHubService {
|
|
|
733
732
|
status,
|
|
734
733
|
content,
|
|
735
734
|
retryOfMessageId,
|
|
736
|
-
...
|
|
735
|
+
...model,
|
|
737
736
|
});
|
|
738
737
|
}
|
|
739
|
-
|
|
740
|
-
const
|
|
741
|
-
|
|
742
|
-
...selectedModel,
|
|
743
|
-
credentialId: provider !== 'n8n' ? this.pickCredentialId(provider, credentials) : null,
|
|
744
|
-
};
|
|
745
|
-
return modelWithCredentials;
|
|
738
|
+
getModelCredential(model, credentials) {
|
|
739
|
+
const credentialId = model.provider !== 'n8n' ? this.pickCredentialId(model.provider, credentials) : null;
|
|
740
|
+
return credentialId;
|
|
746
741
|
}
|
|
747
|
-
async getChatSession(user, sessionId,
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
}
|
|
752
|
-
else if (!initialize) {
|
|
753
|
-
throw new not_found_error_1.NotFoundError('Chat session not found');
|
|
754
|
-
}
|
|
742
|
+
async getChatSession(user, sessionId, trx) {
|
|
743
|
+
return await this.sessionRepository.getOneById(sessionId, user.id, trx);
|
|
744
|
+
}
|
|
745
|
+
async createChatSession(user, sessionId, model, credentialId, tools, trx) {
|
|
755
746
|
let agentName = undefined;
|
|
756
|
-
if (
|
|
757
|
-
const agent = await this.chatHubAgentService.getAgentById(
|
|
747
|
+
if (model.provider === 'custom-agent') {
|
|
748
|
+
const agent = await this.chatHubAgentService.getAgentById(model.agentId, user.id);
|
|
758
749
|
if (!agent) {
|
|
759
750
|
throw new bad_request_error_1.BadRequestError('Agent not found for chat session initialization');
|
|
760
751
|
}
|
|
761
752
|
agentName = agent.name;
|
|
762
753
|
}
|
|
763
|
-
if (
|
|
764
|
-
const workflow = await this.workflowFinderService.findWorkflowForUser(
|
|
754
|
+
if (model.provider === 'n8n') {
|
|
755
|
+
const workflow = await this.workflowFinderService.findWorkflowForUser(model.workflowId, user, ['workflow:read'], { includeTags: false, includeParentFolder: false });
|
|
765
756
|
if (!workflow) {
|
|
766
757
|
throw new bad_request_error_1.BadRequestError('Workflow not found for chat session initialization');
|
|
767
758
|
}
|
|
@@ -780,7 +771,9 @@ let ChatHubService = class ChatHubService {
|
|
|
780
771
|
ownerId: user.id,
|
|
781
772
|
title: 'New Chat',
|
|
782
773
|
agentName,
|
|
783
|
-
|
|
774
|
+
tools,
|
|
775
|
+
credentialId,
|
|
776
|
+
...model,
|
|
784
777
|
}, trx);
|
|
785
778
|
}
|
|
786
779
|
async getChatMessage(sessionId, messageId, relations = [], trx) {
|
|
@@ -805,6 +798,7 @@ let ChatHubService = class ChatHubService {
|
|
|
805
798
|
agentName: session.agentName,
|
|
806
799
|
createdAt: session.createdAt.toISOString(),
|
|
807
800
|
updatedAt: session.updatedAt.toISOString(),
|
|
801
|
+
tools: session.tools,
|
|
808
802
|
}));
|
|
809
803
|
}
|
|
810
804
|
async getConversation(userId, sessionId) {
|
|
@@ -827,6 +821,7 @@ let ChatHubService = class ChatHubService {
|
|
|
827
821
|
agentName: session.agentName,
|
|
828
822
|
createdAt: session.createdAt.toISOString(),
|
|
829
823
|
updatedAt: session.updatedAt.toISOString(),
|
|
824
|
+
tools: session.tools,
|
|
830
825
|
},
|
|
831
826
|
conversation: {
|
|
832
827
|
messages: Object.fromEntries(messages.map((m) => [m.id, this.convertMessageToDto(m)])),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-hub.service.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-hub.service.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import type { ChatHubConversationModel,
|
|
2
|
-
import type { INodeCredentials } from 'n8n-workflow';
|
|
3
|
-
export interface ModelWithCredentials {
|
|
4
|
-
provider: ChatHubProvider;
|
|
5
|
-
model?: string;
|
|
6
|
-
workflowId?: string;
|
|
7
|
-
credentialId: string | null;
|
|
8
|
-
agentId?: string;
|
|
9
|
-
name?: string;
|
|
10
|
-
}
|
|
1
|
+
import type { ChatHubConversationModel, ChatMessageId, ChatSessionId } from '@n8n/api-types';
|
|
2
|
+
import type { INode, INodeCredentials } from 'n8n-workflow';
|
|
11
3
|
export interface BaseMessagePayload {
|
|
12
4
|
userId: string;
|
|
13
5
|
sessionId: ChatSessionId;
|
|
@@ -18,6 +10,7 @@ export interface HumanMessagePayload extends BaseMessagePayload {
|
|
|
18
10
|
messageId: ChatMessageId;
|
|
19
11
|
message: string;
|
|
20
12
|
previousMessageId: ChatMessageId | null;
|
|
13
|
+
tools: INode[];
|
|
21
14
|
}
|
|
22
15
|
export interface RegenerateMessagePayload extends BaseMessagePayload {
|
|
23
16
|
retryId: ChatMessageId;
|
|
@@ -18,12 +18,13 @@ export declare class DataTableRowsRepository {
|
|
|
18
18
|
private getAffectedRowsForUpdate;
|
|
19
19
|
private prepareUpdateData;
|
|
20
20
|
private toDryRunRows;
|
|
21
|
-
getManyAndCount(dataTableId: string, dto: ListDataTableContentQueryDto, trx?: EntityManager): Promise<{
|
|
21
|
+
getManyAndCount(dataTableId: string, dto: ListDataTableContentQueryDto, columns: DataTableColumn[], trx?: EntityManager): Promise<{
|
|
22
22
|
count: number;
|
|
23
23
|
data: DataTableRowsReturn;
|
|
24
24
|
}>;
|
|
25
25
|
getManyByIds(dataTableId: string, ids: number[], columns: DataTableColumn[], trx?: EntityManager): Promise<DataTableRowsReturn>;
|
|
26
26
|
private getManyQuery;
|
|
27
|
+
private applySearch;
|
|
27
28
|
private applyFilters;
|
|
28
29
|
private applySorting;
|
|
29
30
|
private applySortingByField;
|
|
@@ -320,9 +320,9 @@ let DataTableRowsRepository = class DataTableRowsRepository {
|
|
|
320
320
|
{ ...after, dryRunState: 'after' },
|
|
321
321
|
];
|
|
322
322
|
}
|
|
323
|
-
async getManyAndCount(dataTableId, dto, trx) {
|
|
323
|
+
async getManyAndCount(dataTableId, dto, columns, trx) {
|
|
324
324
|
return await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
325
|
-
const [countQuery, query] = this.getManyQuery(dataTableId, dto, em);
|
|
325
|
+
const [countQuery, query] = this.getManyQuery(dataTableId, dto, columns, em);
|
|
326
326
|
const data = await query.select('*').getRawMany();
|
|
327
327
|
const countResult = await countQuery.select('COUNT(*) as count').getRawOne();
|
|
328
328
|
const count = typeof countResult?.count === 'number'
|
|
@@ -349,18 +349,53 @@ let DataTableRowsRepository = class DataTableRowsRepository {
|
|
|
349
349
|
return (0, sql_utils_1.normalizeRows)(rows, columns);
|
|
350
350
|
}, false);
|
|
351
351
|
}
|
|
352
|
-
getManyQuery(dataTableId, dto, em) {
|
|
352
|
+
getManyQuery(dataTableId, dto, columns, em) {
|
|
353
353
|
const query = em.createQueryBuilder();
|
|
354
354
|
const tableReference = 'dataTable';
|
|
355
355
|
query.from((0, sql_utils_1.toTableName)(dataTableId), tableReference);
|
|
356
356
|
if (dto.filter) {
|
|
357
357
|
this.applyFilters(query, dto.filter, tableReference);
|
|
358
358
|
}
|
|
359
|
+
if (dto.search && dto.search.trim().length > 0) {
|
|
360
|
+
this.applySearch(query, dto.search, tableReference, columns);
|
|
361
|
+
}
|
|
359
362
|
const countQuery = query.clone().select('COUNT(*)');
|
|
360
363
|
this.applySorting(query, dto);
|
|
361
364
|
this.applyPagination(query, dto);
|
|
362
365
|
return [countQuery, query];
|
|
363
366
|
}
|
|
367
|
+
applySearch(query, rawSearch, tableReference, columns) {
|
|
368
|
+
const dbType = this.dataSource.options.type;
|
|
369
|
+
const searchTerm = rawSearch.includes('%') ? rawSearch : `%${rawSearch}%`;
|
|
370
|
+
const isSqlite = ['sqlite', 'sqlite-pooled'].includes(dbType);
|
|
371
|
+
const isMy = ['mysql', 'mariadb'].includes(dbType);
|
|
372
|
+
const isPg = dbType === 'postgres';
|
|
373
|
+
const allColumnNames = columns.map((c) => c.name);
|
|
374
|
+
if (allColumnNames.length === 0)
|
|
375
|
+
return;
|
|
376
|
+
const tableRefQuoted = (0, sql_utils_1.quoteIdentifier)(tableReference, dbType);
|
|
377
|
+
const conditions = [];
|
|
378
|
+
for (const col of allColumnNames) {
|
|
379
|
+
const colRef = `${tableRefQuoted}.${(0, sql_utils_1.quoteIdentifier)(col, dbType)}`;
|
|
380
|
+
if (isSqlite) {
|
|
381
|
+
conditions.push(`UPPER(CAST(${colRef} AS TEXT)) LIKE UPPER(:search) ESCAPE '\\'`);
|
|
382
|
+
continue;
|
|
383
|
+
}
|
|
384
|
+
if (isMy) {
|
|
385
|
+
conditions.push(`UPPER(CAST(${colRef} AS CHAR)) LIKE UPPER(:search) ESCAPE '\\\\'`);
|
|
386
|
+
continue;
|
|
387
|
+
}
|
|
388
|
+
if (isPg) {
|
|
389
|
+
conditions.push(`CAST(${colRef} AS TEXT) ILIKE :search ESCAPE '\\'`);
|
|
390
|
+
continue;
|
|
391
|
+
}
|
|
392
|
+
conditions.push(`UPPER(CAST(${colRef} AS TEXT)) LIKE UPPER(:search)`);
|
|
393
|
+
}
|
|
394
|
+
if (conditions.length === 0)
|
|
395
|
+
return;
|
|
396
|
+
const whereClause = `(${conditions.join(' OR ')})`;
|
|
397
|
+
query.andWhere(whereClause, { search: (0, sql_utils_1.escapeLikeSpecials)(searchTerm) });
|
|
398
|
+
}
|
|
364
399
|
applyFilters(query, filter, tableReference) {
|
|
365
400
|
const filters = filter.filters ?? [];
|
|
366
401
|
const filterType = filter.type ?? 'and';
|