@toolplex/client
Version:
The official ToolPlex client for AI agent tool discovery and execution
30 lines (29 loc) • 1.31 kB
TypeScript
import CallToolObserver from "./callToolObserver.js";
import { ClientContext } from "../clientContext.js";
import { SavePlaybookParams } from "../../shared/mcpServerTypes.js";
export declare class PlaybookPolicy {
private callToolObserver;
private clientContext;
private blockedMcpServersSet;
constructor(clientContext: ClientContext, callToolObserver: CallToolObserver);
/**
* Validates a playbook before saving by checking that:
* - Referenced servers and tools have been used
* - No blocked servers are referenced
* - Private playbooks are only created when enabled
*
* For each action with a 'call' property, verifies that:
* - Any referenced server has been connected to
* - Any referenced server/tool combination has been executed
* - The server is not in the blocked servers list
*
* @throws Error if a referenced server or tool has not been used in the current session,
* if a blocked server is referenced, or if trying to create a private playbook when disabled
*/
enforceSavePlaybookPolicy(playbook: SavePlaybookParams): void;
/**
* Validates if playbook usage logging is allowed based on read-only mode
* @throws Error if read-only mode is enabled
*/
enforceLogPlaybookUsagePolicy(): void;
}