@dollhousemcp/mcp-server
Version:
DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.
48 lines • 2.04 kB
TypeScript
/**
* AgentActivationStrategy - Strategy for agent element activation
*
* Handles activation, deactivation, and status tracking for agent elements.
* Uses "execution" strategy with state file management.
*
* SECURITY & CONSISTENCY IMPROVEMENTS:
* - Security logging for activation errors (Issue #24 - Medium Priority)
* - Activation rollback on critical failures (Issue #24 - Medium Priority)
* - Optimistic locking for state updates (Issue #24 - Medium Priority)
*/
import { AgentManager } from '../../elements/agents/AgentManager.js';
import { BaseActivationStrategy } from './BaseActivationStrategy.js';
import { ElementActivationStrategy, MCPResponse } from './ElementActivationStrategy.js';
export declare class AgentActivationStrategy extends BaseActivationStrategy implements ElementActivationStrategy {
private readonly agentManager;
constructor(agentManager: AgentManager);
/**
* Activate an agent with execution strategy
* Executes agent logic, updates state file, and tracks activation
*
* IMPROVEMENT: Enhanced error handling with security logging and rollback (Issue #24)
*/
activate(name: string, context?: Record<string, any>): Promise<MCPResponse>;
/**
* Deactivate an agent
*
* @throws {ElementNotFoundError} When agent does not exist
* @see Issue #275 - Handlers return success=true for missing elements
*/
deactivate(name: string): Promise<MCPResponse>;
/**
* Get all active agents
*/
getActiveElements(): Promise<MCPResponse>;
/**
* Format v1 agent fields (specializations, decisionFramework, riskTolerance)
* for display. Only includes fields that are explicitly set — avoids showing
* phantom defaults on v2 agents. (Issue #749)
*/
private formatV1Fields;
/**
* Get detailed information about an agent
* Extracted from ElementCRUDHandler.ts lines 730-770
*/
getElementDetails(name: string): Promise<MCPResponse>;
}
//# sourceMappingURL=AgentActivationStrategy.d.ts.map