import type { AgentCreationResult, AgentDeletionResult, AgentDescriptor, AgentIdentity, AgentManagerUpdateResult } from "../../domain/agent.js"; import type { OpenGoatPaths } from "../../domain/opengoat-paths.js"; import type { FileSystemPort } from "../../ports/file-system.port.js"; import type { PathPort } from "../../ports/path.port.js"; interface AgentServiceDeps { fileSystem: FileSystemPort; pathPort: PathPort; nowIso: () => string; } interface EnsureAgentOptions { type?: "manager" | "individual"; reportsTo?: string | null; skills?: string[]; role?: string; } export interface CeoWorkspaceBootstrapResult { createdPaths: string[]; skippedPaths: string[]; removedPaths: string[]; } export interface AgentWorkspaceBootstrapInput { agentId: string; displayName: string; role: string; } export interface AgentWorkspaceBootstrapOptions { syncBootstrapMarkdown?: boolean; keepFirstRunSection?: boolean; removeBootstrapMarkdownWhenDisabled?: boolean; roleSkillDirectories?: string[]; managedRoleSkillDirectories?: string[]; roleSkillIdsByType?: RoleSkillIdsByType; managedRoleSkillIds?: string[]; } interface WorkspaceSkillSyncResult { createdPaths: string[]; skippedPaths: string[]; removedPaths: string[]; } export interface WorkspaceRoleSkillSyncOptions { requiredSkillDirectories?: string[]; managedSkillDirectories?: string[]; roleSkillIdsByType?: RoleSkillIdsByType; managedRoleSkillIds?: string[]; } export interface RoleSkillIdsByType { manager: string[]; individual: string[]; } interface RoleAssignmentSyncResult { updatedPaths: string[]; skippedPaths: string[]; } export interface WorkspaceCommandShimSyncResult { createdPaths: string[]; skippedPaths: string[]; } export interface WorkspaceReporteeLinksSyncResult { createdPaths: string[]; skippedPaths: string[]; removedPaths: string[]; } export declare class AgentService { private readonly fileSystem; private readonly pathPort; private readonly nowIso; constructor(deps: AgentServiceDeps); normalizeAgentName(rawName: string): AgentIdentity; ensureAgent(paths: OpenGoatPaths, identity: AgentIdentity, options?: EnsureAgentOptions): Promise; listAgents(paths: OpenGoatPaths): Promise; ensureCeoWorkspaceBootstrap(paths: OpenGoatPaths, options?: AgentWorkspaceBootstrapOptions): Promise; ensureAgentWorkspaceBootstrap(paths: OpenGoatPaths, input: AgentWorkspaceBootstrapInput, options?: AgentWorkspaceBootstrapOptions): Promise; ensureAgentWorkspaceCommandShim(paths: OpenGoatPaths, rawAgentId: string): Promise; syncWorkspaceReporteeLinks(paths: OpenGoatPaths): Promise; ensureAgentWorkspaceRoleSkills(paths: OpenGoatPaths, agentId: string, options?: WorkspaceRoleSkillSyncOptions): Promise; syncAgentRoleAssignments(paths: OpenGoatPaths, agentId: string): Promise; removeAgent(paths: OpenGoatPaths, rawAgentId: string): Promise; setAgentManager(paths: OpenGoatPaths, rawAgentId: string, rawReportsTo: string | null | undefined): Promise; private ensureDirectory; private removePathIfExists; private writeJsonIfMissing; private writeMarkdown; private rewriteAgentsMarkdown; private writeRoleMarkdown; private writeBootstrapMarkdown; private writeOpenGoatWorkspaceShim; private ensureWorkspaceOrganizationSymlink; private ensureWorkspaceSymlink; private readAgentConfiguredType; private readJsonIfPresent; private readAgentDisplayName; private readAgentRole; private readAgentType; private renderWorkspaceSkill; private assertNoReportingCycle; private readAgentReportsTo; private hasDirectReportees; } export {};