import { createChatMessageHandler } from "./plugin/chat-message.js";
import { createChatHeadersHandler } from "./plugin/chat-headers.js";
import { createChatParamsHandler } from "./plugin/chat-params.js";
import { createCommandExecuteBeforeHandler } from "./plugin/command-execute-before.js";
import { createMessagesTransformHandler } from "./plugin/messages-transform.js";
import { createSessionCompactingHandler } from "./plugin/session-compacting.js";
import { createSystemTransformHandler } from "./plugin/system-transform.js";
import { createToolDefinitionHandler } from "./plugin/tool-definition.js";
import { createToolExecuteAfterHandler } from "./plugin/tool-execute-after.js";
import { createToolExecuteBeforeHandler } from "./plugin/tool-execute-before.js";
import { createEventHandler } from "./plugin-handlers/index.js";
export function createPluginInterface(args) {
    return {
        tool: args.tools,
        config: args.managers.configHandler,
        event: createEventHandler({ directory: args.ctx.input.directory, config: args.ctx.config }),
        "chat.headers": createChatHeadersHandler(args.ctx),
        "chat.message": createChatMessageHandler(args.ctx),
        "chat.params": createChatParamsHandler(args.ctx),
        "command.execute.before": createCommandExecuteBeforeHandler(args.ctx),
        "experimental.chat.messages.transform": createMessagesTransformHandler(args.ctx),
        "experimental.session.compacting": createSessionCompactingHandler(args.ctx),
        "experimental.chat.system.transform": createSystemTransformHandler(args.ctx),
        "tool.definition": createToolDefinitionHandler(),
        "tool.execute.before": createToolExecuteBeforeHandler(args.ctx),
        "tool.execute.after": createToolExecuteAfterHandler(args.ctx),
    };
}
//# sourceMappingURL=plugin-interface.js.map