UNPKG

n8n

Version:

n8n Workflow Automation Tool

106 lines (105 loc) 5.11 kB
import type { InstanceAiAdminSettingsResponse, InstanceAiAdminSettingsUpdateRequest, InstanceAiUserPreferencesResponse, InstanceAiUserPreferencesUpdateRequest, InstanceAiProviderConnection, InstanceAiPermissions, InstanceAiSandboxProvider } from '@n8n/api-types'; import { GlobalConfig } from '@n8n/config'; import { DbLockService, SettingsRepository, UserRepository } from '@n8n/db'; import type { User } from '@n8n/db'; import type { ModelConfig } from '@n8n/instance-ai'; import { CredentialsFinderService } from '../../credentials/credentials-finder.service'; import { CredentialsService } from '../../credentials/credentials.service'; import { InstanceCredentialBroker, type InstanceCredentialUse } from '../../credentials/instance-credential-broker'; import { EventService } from '../../events/event.service'; import { AiService } from '../../services/ai.service'; import { UserService } from '../../services/user.service'; export interface InstanceAiSandboxStatus { enabled: boolean; provider: InstanceAiSandboxProvider; workflowBuilderAvailable: boolean; unavailableReason: string | null; } export declare const INSTANCE_AI_MODEL_CREDENTIAL_POLICY: InstanceCredentialUse; export declare const INSTANCE_AI_DAYTONA_CREDENTIAL_POLICY: InstanceCredentialUse; export declare const INSTANCE_AI_N8N_SANDBOX_CREDENTIAL_POLICY: InstanceCredentialUse; export declare const INSTANCE_AI_SEARCH_CREDENTIAL_POLICY: InstanceCredentialUse; export declare class InstanceAiSettingsService { private readonly dbLockService; private readonly settingsRepository; private readonly userRepository; private readonly userService; private readonly aiService; private readonly credentialsService; private readonly credentialsFinderService; private readonly instanceCredentialBroker; private readonly eventService; private readonly config; private readonly deploymentConfig; private readonly environmentSandboxProvider; private sandboxProviderOverride?; private enabled; private mcpAccessEnabled; private permissions; private adminModelName; constructor(globalConfig: GlobalConfig, dbLockService: DbLockService, settingsRepository: SettingsRepository, userRepository: UserRepository, userService: UserService, aiService: AiService, credentialsService: CredentialsService, credentialsFinderService: CredentialsFinderService, instanceCredentialBroker: InstanceCredentialBroker, eventService: EventService); private get isCloud(); isProxyEnabled(): boolean; loadFromDb(): Promise<void>; getAdminSettings(): Promise<InstanceAiAdminSettingsResponse>; private buildAdminSettingsResponse; updateAdminSettings(update: InstanceAiAdminSettingsUpdateRequest, user?: User): Promise<InstanceAiAdminSettingsResponse>; private rejectConnectionConflicts; private upsertConnection; private prepareConnection; private prepareSandboxConnection; private runConnectionHooks; private upsertSandboxConnection; reloadFromDb(): Promise<void>; getUserPreferences(user: User): Promise<InstanceAiUserPreferencesResponse>; updateUserPreferences(user: User, update: InstanceAiUserPreferencesUpdateRequest): Promise<InstanceAiUserPreferencesResponse>; listInstanceModelCredentials(): Promise<InstanceAiProviderConnection[]>; listInstanceServiceCredentials(): Promise<InstanceAiProviderConnection[]>; resolveDaytonaConfig(): Promise<{ apiUrl?: string; apiKey?: string; }>; resolveN8nSandboxConfig(): Promise<{ serviceUrl?: string; apiKey?: string; }>; resolveSearchConfig(): Promise<{ braveApiKey?: string; searxngUrl?: string; }>; private validateAssignedServiceCredential; private resolveServiceCredential; private warnCredentialFallback; getPermissions(): InstanceAiPermissions; isMcpAccessEnabled(): boolean; isLocalGatewayDisabledForUser(userId: string): Promise<boolean>; isAgentEnabled(): boolean; isLocalGatewayDisabled(): boolean; isBrowserUseEnabled(): boolean; getSandboxStatus(): InstanceAiSandboxStatus; isInstanceAiEnabled(): boolean; resolveModelName(user: User): string; resolveModelConfig(user: User): Promise<ModelConfig>; private resolveAdminModelConfig; private buildModelConfigFromCredential; private buildModelConfig; private static readonly MANAGED_ADMIN_FIELDS; private static readonly INSTANCE_CREDENTIAL_FIELDS; private static readonly MANAGED_PREFERENCE_FIELDS; private deploymentLabel; private rejectManagedFields; private validateAdminSettingsUpdate; private getSandboxUnavailableReason; private envVarModelConfig; private envVarModelConfigForModel; private extractModelName; private applyAdminSettings; private readUserPreferences; private snapshotAdminSettings; private mergeAdminSettings; private readPersistedAdminSettings; private withPersistedAdminSettings; private readAdminModelSelection; private parsePersistedAdminSettings; private emitSettingsUpdated; }