@toolplex/client
Version:
The official ToolPlex client for AI agent tool discovery and execution
58 lines (57 loc) • 2.06 kB
TypeScript
import { ClientContext } from "../clientContext.js";
import CallToolObserver from "./callToolObserver.js";
import InstallObserver from "./installObserver.js";
import { SavePlaybookParams, SubmitFeedbackParams } from "../../shared/mcpServerTypes.js";
export declare class PolicyEnforcer {
private playbookPolicy;
private feedbackPolicy;
private serverPolicy;
private callToolObserver;
private installObserver;
constructor();
/**
* Initialize the policy enforcer with the client context
*/
init(clientContext: ClientContext): void;
/**
* Enforce playbook policy validation before saving.
* Throws if the playbook does not pass policy.
*/
enforceSavePlaybookPolicy(playbook: SavePlaybookParams): void;
/**
* Enforce feedback policy validation.
* Throws if the feedback does not pass policy.
*/
enforceFeedbackPolicy(feedback: SubmitFeedbackParams): void;
/**
* Enforce server call tool policy validation.
* Throws if attempting to call a tool on a blocked server.
*/
enforceCallToolPolicy(serverId: string): void;
/**
* Enforce server config policy validation.
* Throws if attempting to use a blocked or disallowed server.
*/
enforceUseServerPolicy(serverId: string): void;
/**
* Enforce playbook usage logging policy validation.
* Throws if read-only mode is enabled.
*/
enforceLogPlaybookUsagePolicy(): void;
/**
* Filters out blocked servers from a list of objects.
*
* @param servers List of objects containing server IDs
* @param getServerId Function that extracts the server ID from an object
* @returns Filtered list with blocked servers removed
*/
filterBlockedMcpServers<T>(servers: T[], getServerId: (item: T) => string): T[];
/**
* Get a reference to the CallToolObserver instance.
*/
getCallToolObserver(): CallToolObserver;
/**
* Get a reference to the InstallObserver instance.
*/
getInstallObserver(): InstallObserver;
}