n8n
Version:
n8n Workflow Automation Tool
106 lines (105 loc) • 5.11 kB
TypeScript
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;
}