UNPKG

n8n

Version:

n8n Workflow Automation Tool

67 lines (66 loc) 4.07 kB
import { type AgentConfigValidationResponse, type AgentVersionListItemDto } from '@n8n/api-types'; import { Logger } from '@n8n/backend-common'; import type { User } from '@n8n/db'; import { CredentialsService } from '../../credentials/credentials.service'; import { EventService } from '../../events/event.service'; import { Telemetry } from '../../telemetry'; import { AgentCustomToolsService } from './agent-custom-tools.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 { AgentValidationService } from './agent-validation.service'; import type { AgentHistory } from './entities/agent-history.entity'; import type { AgentTaskSnapshot } from './entities/agent-task-snapshot.entity'; import type { Agent } from './entities/agent.entity'; import { AgentHistoryRepository } from './repositories/agent-history.repository'; import { AgentTaskSnapshotRepository } from './repositories/agent-task-snapshot.repository'; import { AgentTaskRepository } from './repositories/agent-task.repository'; import { AgentRepository } from './repositories/agent.repository'; import { SubAgentCleanupService } from './sub-agents/sub-agent-cleanup.service'; export type AgentPublishTrigger = 'explicit' | 'republish'; export interface AgentPublishEmitter { by: AgentActor; trigger: Exclude<AgentPublishTrigger, 'republish'>; } export type ValidAgentConfigValidationResponse = AgentConfigValidationResponse & { status: 'valid'; }; export interface PublishAgentResult { agent: Agent; draftValidation?: ValidAgentConfigValidationResponse; } export declare class AgentPublishService { private readonly logger; private readonly agentRepository; private readonly agentHistoryRepository; private readonly agentTaskSnapshotRepository; private readonly agentTaskRepository; private readonly customToolsService; private readonly runtimeCacheService; private readonly subAgentCleanupService; private readonly agentValidationService; private readonly credentialsService; private readonly telemetry; private readonly eventService; private readonly setupCompletionService; private readonly modificationTelemetry; constructor(logger: Logger, agentRepository: AgentRepository, agentHistoryRepository: AgentHistoryRepository, agentTaskSnapshotRepository: AgentTaskSnapshotRepository, agentTaskRepository: AgentTaskRepository, customToolsService: AgentCustomToolsService, runtimeCacheService: AgentRuntimeCacheService, subAgentCleanupService: SubAgentCleanupService, agentValidationService: AgentValidationService, credentialsService: CredentialsService, telemetry: Telemetry, eventService: EventService, setupCompletionService: AgentSetupCompletionService, modificationTelemetry: AgentModificationTelemetryService); publishAgent(agentId: string, projectId: string, user: User, emitter: AgentPublishEmitter, versionId?: string): Promise<PublishAgentResult>; private assertPublishable; unpublishAgent(agentId: string, projectId: string, user: User, by: AgentActor): Promise<Agent>; private trackPublished; private trackUnpublished; revertToPublishedAgent(agentId: string, projectId: string, user: User, modifiedBy: AgentActor): Promise<Agent>; revertToVersion(agentId: string, projectId: string, versionId: string, user: User, modifiedBy: AgentActor): Promise<Agent>; private recordRevert; hasPublishHistory(agentId: string): Promise<boolean>; getVersion(agentId: string, projectId: string, versionId: string): Promise<{ agent: Agent; version: AgentHistory; tasks: AgentTaskSnapshot[]; }>; listPublishHistory(agentId: string, projectId: string, take: number, skip: number): Promise<AgentVersionListItemDto[]>; private snapshotConfiguredTasks; private pickConfiguredSkillBodies; private restoreTasksFromSnapshot; }