n8n
Version:
n8n Workflow Automation Tool
32 lines (31 loc) • 2.1 kB
TypeScript
import { type AgentIntegrationConfig, type ChatIntegrationDescriptor } from '@n8n/api-types';
import type { User } from '@n8n/db';
import { CredentialsService } from '../../credentials/credentials.service';
import { EventService } from '../../events/event.service';
import { AgentModificationTelemetryService, type AgentActor } from './agent-modification-telemetry.service';
import { AgentRuntimeCacheService } from './agent-runtime-cache.service';
import { AgentSetupCompletionService } from './agent-setup-completion.service';
import type { Agent } from './entities/agent.entity';
import { ChatIntegrationRegistry } from './integrations/agent-chat-integration';
import { ChatIntegrationService } from './integrations/chat-integration.service';
import { AgentRepository } from './repositories/agent.repository';
export interface CredentialIntegrationMutationContext {
user: User;
modifiedBy: AgentActor;
broadcast?: boolean;
}
export declare class AgentIntegrationPersistenceService {
private readonly agentRepository;
private readonly chatIntegrationService;
private readonly runtimeCacheService;
private readonly chatIntegrationRegistry;
private readonly eventService;
private readonly modificationTelemetry;
private readonly credentialsService;
private readonly setupCompletionService;
constructor(agentRepository: AgentRepository, chatIntegrationService: ChatIntegrationService, runtimeCacheService: AgentRuntimeCacheService, chatIntegrationRegistry: ChatIntegrationRegistry, eventService: EventService, modificationTelemetry: AgentModificationTelemetryService, credentialsService: CredentialsService, setupCompletionService: AgentSetupCompletionService);
listChatIntegrations(): ChatIntegrationDescriptor[];
saveCredentialIntegration(agent: Agent, integration: AgentIntegrationConfig, context: CredentialIntegrationMutationContext): Promise<Agent>;
removeCredentialIntegration(agent: Agent, type: string, credentialId: string, context: CredentialIntegrationMutationContext): Promise<Agent>;
private recordIntegrationMutation;
}