import { type CreateTaskOptions, type ListTasksOptions, type TaskRecord } from "../../boards/index.js"; import type { AgentCreationResult, AgentDeletionResult, AgentDescriptor, AgentInfo, AgentManagerUpdateResult, CreateAgentOptions, DeleteAgentOptions } from "../../domain/agent.js"; import type { InitializationResult } from "../../domain/opengoat-paths.js"; import { type Logger } from "../../logging/index.js"; import { type OrchestrationRunOptions, type OrchestrationRunResult, type RoutingDecision } from "../../orchestration/index.js"; import type { CommandRunResult, CommandRunnerPort } from "../../ports/command-runner.port.js"; import type { FileSystemPort } from "../../ports/file-system.port.js"; import type { PathPort } from "../../ports/path.port.js"; import type { OpenGoatPathsProvider } from "../../ports/paths-provider.port.js"; import type { AgentProviderBinding, OpenClawGatewayConfig, ProviderAuthOptions, ProviderExecutionResult, ProviderOnboardingSpec, ProviderRegistry, ProviderStoredConfig, ProviderSummary } from "../../providers/index.js"; import { type AgentLastAction, type SessionCompactionResult, type SessionHistoryResult, type SessionRemoveResult, type SessionRunInfo, type SessionSummary } from "../../sessions/index.js"; import { type InstallSkillRequest, type InstallSkillResult, type RemoveSkillRequest, type RemoveSkillResult, type ResolvedSkill } from "../../skills/index.js"; import { type TaskDelegationStrategiesConfig } from "./opengoat.service.helpers.js"; interface OpenGoatServiceDeps { fileSystem: FileSystemPort; pathPort: PathPort; pathsProvider: OpenGoatPathsProvider; nowIso?: () => string; providerRegistry?: ProviderRegistry; commandRunner?: CommandRunnerPort; logger?: Logger; } export interface RuntimeDefaultsSyncResult { ceoSyncCode?: number; ceoSynced: boolean; warnings: string[]; } export interface DefaultAgentUpdateResult { defaultAgent: string; previousDefaultAgent: string; configPath: string; } export interface TaskCronDispatchResult { kind: "todo" | "doing" | "pending" | "blocked" | "inactive" | "topdown"; targetAgentId: string; sessionRef: string; taskId?: string; subjectAgentId?: string; message?: string; ok: boolean; error?: string; } export interface TaskCronRunResult { ranAt: string; scannedTasks: number; todoTasks: number; doingTasks: number; blockedTasks: number; inactiveAgents: number; sent: number; failed: number; dispatches: TaskCronDispatchResult[]; } export type InactiveAgentNotificationTarget = "all-managers" | "ceo-only"; export interface HardResetResult { homeDir: string; homeRemoved: boolean; deletedOpenClawAgents: string[]; failedOpenClawAgents: Array<{ agentId: string; reason: string; }>; removedOpenClawManagedSkillDirs: string[]; warnings: string[]; } export declare class OpenGoatService { private readonly fileSystem; private readonly pathPort; private readonly pathsProvider; private readonly agentService; private readonly agentManifestService; private readonly bootstrapService; private readonly providerService; private readonly skillService; private readonly sessionService; private readonly orchestrationService; private readonly boardService; private readonly commandRunner?; private readonly nowIso; private openClawManagedSkillsDirCache?; constructor(deps: OpenGoatServiceDeps); initialize(options?: { syncRuntimeDefaults?: boolean; }): Promise; getDefaultAgentId(options?: { requireExisting?: boolean; }): Promise; setDefaultAgent(rawAgentId: string): Promise; hardReset(): Promise; syncRuntimeDefaults(): Promise; createAgent(rawName: string, options?: CreateAgentOptions): Promise; deleteAgent(rawAgentId: string, options?: DeleteAgentOptions): Promise; setAgentManager(rawAgentId: string, rawReportsTo: string | null): Promise; listAgents(): Promise; listDirectReportees(rawAgentId: string): Promise; listAllReportees(rawAgentId: string): Promise; getAgentInfo(rawAgentId: string): Promise; listProviders(): Promise; getProviderOnboarding(providerId: string): Promise; getProviderConfig(providerId: string): Promise; setProviderConfig(providerId: string, env: Record): Promise; authenticateProvider(providerId: string, options?: ProviderAuthOptions): Promise; getAgentProvider(agentId: string): Promise; setAgentProvider(agentId: string, providerId: string): Promise; getOpenClawGatewayConfig(): Promise; setOpenClawGatewayConfig(config: OpenClawGatewayConfig): Promise; routeMessage(agentId: string, message: string): Promise; runAgent(agentId: string, options: OrchestrationRunOptions): Promise; createTask(actorId: string, options: CreateTaskOptions): Promise; listTasks(options?: ListTasksOptions): Promise; listLatestTasks(options?: { assignee?: string; limit?: number; }): Promise; listLatestTasksPage(options?: { assignee?: string; owner?: string; status?: string; limit?: number; offset?: number; }): Promise<{ tasks: TaskRecord[]; total: number; limit: number; offset: number; }>; getTask(taskId: string): Promise; deleteTasks(actorId: string, taskIds: string[]): Promise<{ deletedTaskIds: string[]; deletedCount: number; }>; updateTaskStatus(actorId: string, taskId: string, status: string, reason?: string): Promise; addTaskBlocker(actorId: string, taskId: string, blocker: string): Promise; addTaskArtifact(actorId: string, taskId: string, content: string): Promise; addTaskWorklog(actorId: string, taskId: string, content: string): Promise; private assertManagerSupportsReportees; runTaskCronCycle(options?: { inactiveMinutes?: number; inProgressMinutes?: number; notificationTarget?: InactiveAgentNotificationTarget; notifyInactiveAgents?: boolean; delegationStrategies?: TaskDelegationStrategiesConfig; maxParallelFlows?: number; }): Promise; private dispatchTopDownTaskDelegationAutomations; private dispatchTaskStatusAutomations; private dispatchInactiveAgentAutomations; listSkills(agentId?: string): Promise; listGlobalSkills(): Promise; installSkill(request: InstallSkillRequest): Promise; removeSkill(request: RemoveSkillRequest): Promise; private resolveAgentSkillInstallOptions; runOpenClaw(args: string[], options?: { cwd?: string; env?: NodeJS.ProcessEnv; }): Promise; listSessions(agentId?: string, options?: { activeMinutes?: number; }): Promise; prepareSession(agentId?: string, options?: { sessionRef?: string; forceNew?: boolean; }): Promise; getAgentLastAction(agentId?: string): Promise; getSessionHistory(agentId?: string, options?: { sessionRef?: string; limit?: number; includeCompaction?: boolean; }): Promise; resetSession(agentId?: string, sessionRef?: string): Promise; compactSession(agentId?: string, sessionRef?: string): Promise; renameSession(agentId?: string, title?: string, sessionRef?: string): Promise; removeSession(agentId?: string, sessionRef?: string): Promise; getHomeDir(): string; getPaths(): import("../../domain/opengoat-paths.js").OpenGoatPaths; private dispatchAutomationMessage; private resolveNowIso; private resolveInputAgentId; private resolveDefaultAgentId; private readGlobalConfig; private readJsonFileIfPresent; private initializeRuntimeDefaults; private resolveNowMs; private syncOpenClawRoleSkills; private removeOpenClawManagedRoleSkills; private ensureAgentProviderRoleSkills; private resolveOpenClawManagedSkillsDir; private listOpenClawAgents; private addWorkspaceAgentCandidates; private syncOpenClawAgentRegistration; private ensureOpenClawAgentLocation; private syncOpenClawAgentExecutionPolicies; private ensureOpenGoatPluginToolsRegistered; private resolveOpenGoatPluginSourcePath; private configureOpenClawPluginSourcePath; private mergePluginLoadPaths; private readPluginManifestId; private resolveOpenClawEnv; private collectInactiveAgents; } export {};