UNPKG

mcp-quickbase

Version:

Work with Quickbase via Model Context Protocol

77 lines 2.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConfigureCacheTool = void 0; const base_1 = require("./base"); const logger_1 = require("../utils/logger"); const logger = (0, logger_1.createLogger)("ConfigureCacheTool"); /** * Tool for configuring the caching behavior of the Quickbase connector */ class ConfigureCacheTool extends base_1.BaseTool { /** * Constructor * @param client Quickbase client * @param cacheService Cache service */ constructor(client, cacheService) { super(client); this.name = "configure_cache"; this.description = "Configures caching behavior for Quickbase operations"; /** * Parameter schema for configure_cache */ this.paramSchema = { type: "object", properties: { enabled: { type: "boolean", description: "Whether to enable caching (default: true)", }, clear: { type: "boolean", description: "Whether to clear all existing caches (default: false)", }, ttl: { type: "number", description: "Cache time-to-live in seconds", }, }, required: [], }; this.cacheService = cacheService; } /** * Run the configure_cache tool * @param params Tool parameters * @returns Configuration result */ async run(params) { logger.info("Configuring cache", params); const result = { cacheEnabled: this.cacheService.isEnabled(), cacheCleared: false, }; // Clear cache if requested if (params.clear) { this.cacheService.clear(); result.cacheCleared = true; logger.info("Cache cleared"); } // Enable/disable cache if specified if (params.enabled !== undefined) { this.cacheService.setEnabled(params.enabled); result.cacheEnabled = params.enabled; logger.info(`Cache ${params.enabled ? "enabled" : "disabled"}`); } // Set TTL if specified if (params.ttl !== undefined && params.ttl > 0) { // Here we would set TTL // This requires extending the CacheService to support changing TTL logger.info(`Cache TTL set to ${params.ttl} seconds`); result.cacheTtl = params.ttl; } return result; } } exports.ConfigureCacheTool = ConfigureCacheTool; //# sourceMappingURL=configure_cache.js.map