"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.createMCPServer = createMCPServer;
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
const core_js_1 = require("../core.js");
const prompts_js_1 = require("./prompts.js");
const resources_js_1 = require("./resources.js");
const tools_js_1 = require("./tools.js");
const conversationGetConversationByExternalId_js_1 = require("./tools/conversationGetConversationByExternalId.js");
const conversationsList_js_1 = require("./tools/conversationsList.js");
const feedbackDeleteFeedbackById_js_1 = require("./tools/feedbackDeleteFeedbackById.js");
const feedbackGetFeedbackById_js_1 = require("./tools/feedbackGetFeedbackById.js");
const feedbackList_js_1 = require("./tools/feedbackList.js");
const feedbackSubmit_js_1 = require("./tools/feedbackSubmit.js");
const queryConversations_js_1 = require("./tools/queryConversations.js");
const queryExportConversationsQueryResults_js_1 = require("./tools/queryExportConversationsQueryResults.js");
const queryExportEventsQueryResults_js_1 = require("./tools/queryExportEventsQueryResults.js");
const queryExportFeedbackQueryResults_js_1 = require("./tools/queryExportFeedbackQueryResults.js");
const queryExportSemanticThreadsQueryResults_js_1 = require("./tools/queryExportSemanticThreadsQueryResults.js");
const queryQueryEvents_js_1 = require("./tools/queryQueryEvents.js");
const queryQueryFeedback_js_1 = require("./tools/queryQueryFeedback.js");
const queryQueryPropertyKeys_js_1 = require("./tools/queryQueryPropertyKeys.js");
const queryQueryPropertyValues_js_1 = require("./tools/queryQueryPropertyValues.js");
const queryQuerySemanticThreads_js_1 = require("./tools/queryQuerySemanticThreads.js");
const topSearchQueries_js_1 = require("./tools/topSearchQueries.js");
const weeklySearchUsers_js_1 = require("./tools/weeklySearchUsers.js");
function createMCPServer(deps) {
    const server = new mcp_js_1.McpServer({
        name: "InkeepAnalytics",
        version: "0.2.4-alpha.34",
    });
    const client = new core_js_1.InkeepAnalyticsCore({
        apiIntegrationKey: deps.apiIntegrationKey,
        serverURL: deps.serverURL,
        serverIdx: deps.serverIdx,
    });
    const scopes = new Set(deps.scopes);
    const allowedTools = deps.allowedTools && new Set(deps.allowedTools);
    const tool = (0, tools_js_1.createRegisterTool)(deps.logger, server, client, scopes, allowedTools);
    const resource = (0, resources_js_1.createRegisterResource)(deps.logger, server, client, scopes);
    const resourceTemplate = (0, resources_js_1.createRegisterResourceTemplate)(deps.logger, server, client, scopes);
    const prompt = (0, prompts_js_1.createRegisterPrompt)(deps.logger, server, client, scopes);
    const register = { tool, resource, resourceTemplate, prompt };
    void register; // suppress unused warnings
    tool(topSearchQueries_js_1.tool$topSearchQueries);
    tool(weeklySearchUsers_js_1.tool$weeklySearchUsers);
    tool(conversationsList_js_1.tool$conversationsList);
    tool(conversationGetConversationByExternalId_js_1.tool$conversationGetConversationByExternalId);
    tool(feedbackSubmit_js_1.tool$feedbackSubmit);
    tool(feedbackList_js_1.tool$feedbackList);
    tool(feedbackGetFeedbackById_js_1.tool$feedbackGetFeedbackById);
    tool(feedbackDeleteFeedbackById_js_1.tool$feedbackDeleteFeedbackById);
    tool(queryConversations_js_1.tool$queryConversations);
    tool(queryQueryEvents_js_1.tool$queryQueryEvents);
    tool(queryQueryFeedback_js_1.tool$queryQueryFeedback);
    tool(queryQuerySemanticThreads_js_1.tool$queryQuerySemanticThreads);
    tool(queryExportSemanticThreadsQueryResults_js_1.tool$queryExportSemanticThreadsQueryResults);
    tool(queryExportConversationsQueryResults_js_1.tool$queryExportConversationsQueryResults);
    tool(queryExportEventsQueryResults_js_1.tool$queryExportEventsQueryResults);
    tool(queryExportFeedbackQueryResults_js_1.tool$queryExportFeedbackQueryResults);
    tool(queryQueryPropertyKeys_js_1.tool$queryQueryPropertyKeys);
    tool(queryQueryPropertyValues_js_1.tool$queryQueryPropertyValues);
    return server;
}
//# sourceMappingURL=server.js.map