UNPKG

@toolplex/client

Version:

The official ToolPlex client for AI agent tool discovery and execution

58 lines (57 loc) 2.06 kB
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; }