"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.findDashboardsToolDefinition = exports.findChartsToolDefinition = exports.readPinnedThreadToolDefinition = exports.getKnowledgeDocumentContentToolDefinition = exports.listKnowledgeDocumentsToolDefinition = exports.describeWarehouseTableToolDefinition = exports.listWarehouseTablesToolDefinition = exports.runSavedChartToolDefinition = exports.setupPreviewDeployToolDefinition = exports.getPullRequestDiffToolDefinition = exports.closePullRequestToolDefinition = exports.listWorkstreamsToolDefinition = exports.discoverReposToolDefinition = exports.exploreRepoToolDefinition = exports.syncDbtProjectToolDefinition = exports.editRepoToolDefinition = exports.editProjectContextToolDefinition = exports.editDbtProjectToolDefinition = exports.loadProjectContextToolDefinition = exports.loadSkillToolDefinition = exports.getProjectInfoToolDefinition = exports.listProjectsToolDefinition = exports.improveContextToolDefinition = exports.listContentToolDefinition = exports.runContentQueryToolDefinition = exports.createScheduledDeliveryToolDefinition = exports.createContentToolDefinition = exports.editContentToolDefinition = exports.resolveUrlToolDefinition = exports.readContentToolDefinition = exports.getDashboardChartsToolDefinition = exports.generateHashesToolDefinition = exports.generateUuidsToolDefinition = exports.generateDashboardV1ToolDefinition = exports.generateDashboardToolDefinition = exports.getMetadataToolDefinition = exports.grepFieldsToolDefinition = exports.discoverFieldsToolDefinition = exports.runMetricQueryToolDefinition = exports.renderChartToolDefinition = exports.getQueryResultToolDefinition = exports.runSqlToolDefinition = exports.runQueryToolDefinition = exports.generateVisualizationToolDefinition = exports.searchFieldValuesToolDefinition = exports.findContentToolDefinition = exports.analyzeFieldImpactToolDefinition = exports.searchSemanticLayerToolDefinition = exports.findFieldsToolDefinition = exports.findExploresToolDefinition = void 0;
exports.mcpToolDefinitionsByName = exports.mcpToolNames = exports.agentToolNames = exports.mcpToolDefinitions = exports.agentToolDefinitions = exports.builtInToolDefinitions = exports.agentToolDefinitionsByName = exports.getAiWritebackStatusToolDefinition = exports.runAiWritebackToolDefinition = exports.listVerifiedContentToolDefinition = exports.getCurrentAgentToolDefinition = exports.clearAgentToolDefinition = exports.setAgentToolDefinition = exports.routeAgentToolDefinition = exports.listAgentsToolDefinition = exports.getCurrentProjectToolDefinition = exports.setProjectToolDefinition = exports.mcpListProjectsToolDefinition = exports.readSkillResourceToolDefinition = exports.readSkillToolDefinition = exports.listSkillsToolDefinition = exports.listExploresToolDefinition = exports.getLightdashVersionToolDefinition = exports.generateTimeSeriesVizConfigToolDefinition = exports.generateTableVizConfigToolDefinition = exports.generateBarVizConfigToolDefinition = void 0;
const zod_1 = require("zod");
const types_1 = require("../../../aiWriteback/types");
const defineTool_1 = require("../defineTool");
const mcpToolListExploresArgs_1 = require("./mcpToolListExploresArgs");
const toolAnalyzeFieldImpactArgs_1 = require("./toolAnalyzeFieldImpactArgs");
const toolBuiltInSkillArgs_1 = require("./toolBuiltInSkillArgs");
const toolClosePullRequestArgs_1 = require("./toolClosePullRequestArgs");
const toolCreateContentArgs_1 = require("./toolCreateContentArgs");
const toolCreateScheduledDeliveryArgs_1 = require("./toolCreateScheduledDeliveryArgs");
const toolDashboardArgs_1 = require("./toolDashboardArgs");
const toolDashboardV2Args_1 = require("./toolDashboardV2Args");
const toolDescribeWarehouseTableArgs_1 = require("./toolDescribeWarehouseTableArgs");
const toolDiscoverFieldsArgs_1 = require("./toolDiscoverFieldsArgs");
const toolDiscoverReposArgs_1 = require("./toolDiscoverReposArgs");
const toolEditContentArgs_1 = require("./toolEditContentArgs");
const toolEditDbtProjectArgs_1 = require("./toolEditDbtProjectArgs");
const toolEditProjectContextArgs_1 = require("./toolEditProjectContextArgs");
const toolEditRepoArgs_1 = require("./toolEditRepoArgs");
const toolExploreRepoArgs_1 = require("./toolExploreRepoArgs");
const toolFindChartsArgs_1 = require("./toolFindChartsArgs");
const toolFindContentArgs_1 = require("./toolFindContentArgs");
const toolFindDashboardsArgs_1 = require("./toolFindDashboardsArgs");
const toolFindExploresArgs_1 = require("./toolFindExploresArgs");
const toolFindFieldsArgs_1 = require("./toolFindFieldsArgs");
const toolGenerateHashesArgs_1 = require("./toolGenerateHashesArgs");
const toolGenerateUuidsArgs_1 = require("./toolGenerateUuidsArgs");
const toolGetDashboardChartsArgs_1 = require("./toolGetDashboardChartsArgs");
const toolGetKnowledgeDocumentContentArgs_1 = require("./toolGetKnowledgeDocumentContentArgs");
const toolGetMetadataArgs_1 = require("./toolGetMetadataArgs");
const toolGetProjectInfoArgs_1 = require("./toolGetProjectInfoArgs");
const toolGetPullRequestDiffArgs_1 = require("./toolGetPullRequestDiffArgs");
const toolGetQueryResultArgs_1 = require("./toolGetQueryResultArgs");
const toolGrepFieldsArgs_1 = require("./toolGrepFieldsArgs");
const toolImproveContextArgs_1 = require("./toolImproveContextArgs");
const toolListContentArgs_1 = require("./toolListContentArgs");
const toolListKnowledgeDocumentsArgs_1 = require("./toolListKnowledgeDocumentsArgs");
const toolListProjectsArgs_1 = require("./toolListProjectsArgs");
const toolListWarehouseTablesArgs_1 = require("./toolListWarehouseTablesArgs");
const toolListWorkstreamsArgs_1 = require("./toolListWorkstreamsArgs");
const toolLoadProjectContextArgs_1 = require("./toolLoadProjectContextArgs");
const toolLoadSkillArgs_1 = require("./toolLoadSkillArgs");
const toolQueryResultSchemas_1 = require("./toolQueryResultSchemas");
const toolReadContentArgs_1 = require("./toolReadContentArgs");
const toolReadPinnedThreadArgs_1 = require("./toolReadPinnedThreadArgs");
const toolResolveUrlArgs_1 = require("./toolResolveUrlArgs");
const toolRunContentQueryArgs_1 = require("./toolRunContentQueryArgs");
const toolRunMetricQueryArgs_1 = require("./toolRunMetricQueryArgs");
const toolRunQueryArgs_1 = require("./toolRunQueryArgs");
const toolRunSavedChartArgs_1 = require("./toolRunSavedChartArgs");
const toolRunSqlArgs_1 = require("./toolRunSqlArgs");
const toolSearchFieldValuesArgs_1 = require("./toolSearchFieldValuesArgs");
const toolSearchSemanticLayerArgs_1 = require("./toolSearchSemanticLayerArgs");
const toolSetupPreviewDeployArgs_1 = require("./toolSetupPreviewDeployArgs");
const toolSyncDbtProjectArgs_1 = require("./toolSyncDbtProjectArgs");
const toolTableVizArgs_1 = require("./toolTableVizArgs");
const toolTimeSeriesArgs_1 = require("./toolTimeSeriesArgs");
const toolVerticalBarArgs_1 = require("./toolVerticalBarArgs");
const readOnlyAnnotations = {
    readOnlyHint: true,
    destructiveHint: false,
    idempotentHint: true,
};
const writeAnnotations = {
    readOnlyHint: false,
    destructiveHint: false,
    idempotentHint: false,
};
const contextWriteAnnotations = {
    readOnlyHint: false,
    destructiveHint: false,
    idempotentHint: true,
};
const emptyInputSchema = zod_1.z.object({});
const routeAgentArgsSchema = zod_1.z.object({
    prompt: zod_1.z.string(),
    projectUuid: zod_1.z.string().optional(),
});
const routeAgentStructuredOutputSchema = zod_1.z.object({
    agentUuid: zod_1.z.string(),
    agentName: zod_1.z.string(),
    agentDescription: zod_1.z.string().nullable(),
    agentTags: zod_1.z.array(zod_1.z.string()).nullable(),
    agentSpaceAccess: zod_1.z.array(zod_1.z.string()),
    agentProjectUuid: zod_1.z.string(),
    explores: zod_1.z.array(zod_1.z.string()),
    verifiedQuestions: zod_1.z.array(zod_1.z.string()),
    instruction: zod_1.z.string().nullable(),
    confidence: zod_1.z.enum(['high', 'medium', 'low']),
    reasoning: zod_1.z.string(),
    candidates: zod_1.z.array(zod_1.z.object({
        agentUuid: zod_1.z.string(),
        name: zod_1.z.string(),
        description: zod_1.z.string().nullable(),
    })),
});
exports.findExploresToolDefinition = (0, defineTool_1.defineTool)({
    name: 'findExplores',
    title: 'Find explores',
    description: toolFindExploresArgs_1.TOOL_FIND_EXPLORES_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolFindExploresArgs_1.toolFindExploresArgsSchemaV3,
    agent: { outputSchema: toolFindExploresArgs_1.toolFindExploresOutputSchema },
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolFindExploresArgs_1.findExploresResultSchema,
    },
});
exports.findFieldsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'findFields',
    title: 'Find fields',
    description: toolFindFieldsArgs_1.TOOL_FIND_FIELDS_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolFindFieldsArgs_1.toolFindFieldsArgsSchema,
    agent: { outputSchema: toolFindFieldsArgs_1.toolFindFieldsOutputSchema },
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolFindFieldsArgs_1.findFieldsResultSchema,
    },
});
exports.searchSemanticLayerToolDefinition = (0, defineTool_1.defineTool)({
    name: 'searchSemanticLayer',
    title: 'Search semantic layer',
    description: toolSearchSemanticLayerArgs_1.TOOL_SEARCH_SEMANTIC_LAYER_DESCRIPTION,
    // Agent-only for now: exposed on the agent ToolSet but not on the MCP
    // surface.
    availability: ['agent'],
    inputSchema: toolSearchSemanticLayerArgs_1.toolSearchSemanticLayerArgsSchema,
    agent: { outputSchema: toolSearchSemanticLayerArgs_1.toolSearchSemanticLayerOutputSchema },
});
exports.analyzeFieldImpactToolDefinition = (0, defineTool_1.defineTool)({
    name: 'analyzeFieldImpact',
    title: 'Analyze field impact',
    description: toolAnalyzeFieldImpactArgs_1.TOOL_ANALYZE_FIELD_IMPACT_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolAnalyzeFieldImpactArgs_1.toolAnalyzeFieldImpactArgsSchema,
    agent: { outputSchema: toolAnalyzeFieldImpactArgs_1.toolAnalyzeFieldImpactOutputSchema },
});
exports.findContentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'findContent',
    title: 'Find content',
    description: toolFindContentArgs_1.TOOL_FIND_CONTENT_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolFindContentArgs_1.toolFindContentArgsSchema,
    agent: { outputSchema: toolFindContentArgs_1.toolFindContentOutputSchema },
    mcp: { annotations: readOnlyAnnotations },
});
exports.searchFieldValuesToolDefinition = (0, defineTool_1.defineTool)({
    name: 'searchFieldValues',
    title: 'Search field values',
    description: toolSearchFieldValuesArgs_1.TOOL_SEARCH_FIELD_VALUES_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolSearchFieldValuesArgs_1.toolSearchFieldValuesArgsSchema,
    agent: { outputSchema: toolSearchFieldValuesArgs_1.toolSearchFieldValuesOutputSchema },
    mcp: { annotations: readOnlyAnnotations },
});
exports.generateVisualizationToolDefinition = (0, defineTool_1.defineTool)({
    name: 'generateVisualization',
    title: 'Generate visualization',
    description: toolRunQueryArgs_1.TOOL_RUN_QUERY_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolRunQueryArgs_1.toolRunQueryArgsSchema,
    inputSchemaTransformed: toolRunQueryArgs_1.toolRunQueryArgsSchemaTransformed,
    agent: { outputSchema: toolRunQueryArgs_1.toolRunQueryOutputSchema },
});
exports.runQueryToolDefinition = (0, defineTool_1.defineTool)({
    name: 'runQuery',
    title: 'Run query',
    description: toolRunQueryArgs_1.TOOL_RUN_QUERY_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolRunQueryArgs_1.toolRunQueryArgsSchema,
    inputSchemaTransformed: toolRunQueryArgs_1.toolRunQueryArgsSchemaTransformed,
    agent: { outputSchema: toolRunQueryArgs_1.toolRunQueryOutputSchema },
    mcp: {
        name: 'run_metric_query',
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolQueryResultSchemas_1.mcpRunMetricQueryStructuredOutputSchema,
    },
});
exports.runSqlToolDefinition = (0, defineTool_1.defineTool)({
    name: 'runSql',
    title: 'Run SQL',
    description: (0, toolRunSqlArgs_1.buildRunSqlDescription)(toolRunSqlArgs_1.DEFAULT_RUN_SQL_LIMIT, toolRunSqlArgs_1.DEFAULT_RUN_SQL_MAX_LIMIT),
    availability: ['agent', 'mcp'],
    inputSchema: toolRunSqlArgs_1.toolRunSqlArgsSchema,
    agent: { outputSchema: toolRunSqlArgs_1.toolRunSqlOutputSchema },
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolQueryResultSchemas_1.mcpRunSqlStructuredOutputSchema,
    },
});
exports.getQueryResultToolDefinition = (0, defineTool_1.defineTool)({
    name: 'getQueryResult',
    title: 'Get query result',
    description: toolGetQueryResultArgs_1.TOOL_GET_QUERY_RESULT_DESCRIPTION,
    availability: ['mcp'],
    inputSchema: toolGetQueryResultArgs_1.toolGetQueryResultArgsSchema,
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolQueryResultSchemas_1.mcpGetQueryResultStructuredOutputSchema,
    },
});
exports.renderChartToolDefinition = (0, defineTool_1.defineTool)({
    name: 'renderChart',
    title: 'Render chart',
    description: toolRunQueryArgs_1.TOOL_RENDER_CHART_DESCRIPTION,
    availability: ['mcp'],
    inputSchema: toolRunQueryArgs_1.toolRenderChartArgsSchema,
    inputSchemaTransformed: toolRunQueryArgs_1.toolRenderChartArgsSchemaTransformed,
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolQueryResultSchemas_1.mcpRenderChartStructuredOutputSchema,
    },
});
/** @deprecated Legacy CSV-only metric query tool. */
exports.runMetricQueryToolDefinition = (0, defineTool_1.defineTool)({
    name: 'runMetricQuery',
    title: 'Run metric query',
    description: toolRunMetricQueryArgs_1.TOOL_RUN_METRIC_QUERY_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolRunMetricQueryArgs_1.toolRunMetricQueryArgsSchema,
    agent: { outputSchema: toolRunMetricQueryArgs_1.toolRunMetricQueryOutputSchema },
});
exports.discoverFieldsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'discoverFields',
    title: 'Discover fields',
    description: toolDiscoverFieldsArgs_1.DISCOVER_FIELDS_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolDiscoverFieldsArgs_1.discoverFieldsInputSchema,
    agent: { outputSchema: toolDiscoverFieldsArgs_1.toolDiscoverFieldsOutputSchema },
});
exports.grepFieldsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'grepFields',
    title: 'Search fields',
    description: toolGrepFieldsArgs_1.GREP_FIELDS_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolGrepFieldsArgs_1.grepFieldsInputSchema,
    agent: { outputSchema: toolGrepFieldsArgs_1.toolGrepFieldsOutputSchema },
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolGrepFieldsArgs_1.grepFieldsResultSchema,
    },
});
exports.getMetadataToolDefinition = (0, defineTool_1.defineTool)({
    name: 'getMetadata',
    title: 'Get metadata',
    description: toolGetMetadataArgs_1.GET_METADATA_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolGetMetadataArgs_1.getMetadataInputSchema,
    agent: { outputSchema: toolGetMetadataArgs_1.toolGetMetadataOutputSchema },
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolGetMetadataArgs_1.getMetadataResultSchema,
    },
});
exports.generateDashboardToolDefinition = (0, defineTool_1.defineTool)({
    name: 'generateDashboard',
    title: 'Generate dashboard',
    description: toolDashboardV2Args_1.TOOL_DASHBOARD_V2_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolDashboardV2Args_1.toolDashboardV2ArgsSchema,
    agent: { outputSchema: toolDashboardV2Args_1.toolDashboardV2OutputSchema },
});
/** @deprecated Legacy v1 dashboard tool schema kept for historical tool calls and artifacts. */
exports.generateDashboardV1ToolDefinition = (0, defineTool_1.defineTool)({
    name: 'generateDashboard',
    title: 'Generate dashboard',
    description: toolDashboardArgs_1.TOOL_DASHBOARD_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolDashboardArgs_1.toolDashboardArgsSchema,
    agent: { outputSchema: toolDashboardArgs_1.toolDashboardOutputSchema },
});
exports.generateUuidsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'generateUuids',
    title: 'Generate UUIDs',
    description: toolGenerateUuidsArgs_1.TOOL_GENERATE_UUIDS_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolGenerateUuidsArgs_1.toolGenerateUuidsArgsSchema,
    agent: { outputSchema: toolGenerateUuidsArgs_1.toolGenerateUuidsOutputSchema },
});
exports.generateHashesToolDefinition = (0, defineTool_1.defineTool)({
    name: 'generateHashes',
    title: 'Generate hashes',
    description: toolGenerateHashesArgs_1.TOOL_GENERATE_HASHES_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolGenerateHashesArgs_1.toolGenerateHashesArgsSchema,
    agent: { outputSchema: toolGenerateHashesArgs_1.toolGenerateHashesOutputSchema },
});
exports.getDashboardChartsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'getDashboardCharts',
    title: 'Get dashboard charts',
    description: toolGetDashboardChartsArgs_1.TOOL_GET_DASHBOARD_CHARTS_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolGetDashboardChartsArgs_1.toolGetDashboardChartsArgsSchema,
    agent: { outputSchema: toolGetDashboardChartsArgs_1.toolGetDashboardChartsOutputSchema },
});
exports.readContentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'readContent',
    title: 'Read content',
    description: toolReadContentArgs_1.TOOL_READ_CONTENT_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolReadContentArgs_1.toolReadContentArgsSchema,
    agent: { outputSchema: toolReadContentArgs_1.toolReadContentOutputSchema },
    mcp: {
        name: 'read_content',
        annotations: readOnlyAnnotations,
    },
});
exports.resolveUrlToolDefinition = (0, defineTool_1.defineTool)({
    name: 'resolveUrl',
    title: 'Resolve URL',
    description: toolResolveUrlArgs_1.TOOL_RESOLVE_URL_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolResolveUrlArgs_1.toolResolveUrlArgsSchema,
    agent: { outputSchema: toolResolveUrlArgs_1.toolResolveUrlOutputSchema },
    mcp: {
        name: 'resolve_url',
        annotations: readOnlyAnnotations,
    },
});
exports.editContentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'editContent',
    title: 'Edit content',
    description: toolEditContentArgs_1.TOOL_EDIT_CONTENT_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolEditContentArgs_1.toolEditContentArgsSchema,
    agent: { outputSchema: toolEditContentArgs_1.toolEditContentOutputSchema },
    mcp: {
        name: 'edit_content',
        annotations: writeAnnotations,
    },
});
exports.createContentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'createContent',
    title: 'Create content',
    description: toolCreateContentArgs_1.TOOL_CREATE_CONTENT_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolCreateContentArgs_1.toolCreateContentArgsSchema,
    agent: { outputSchema: toolCreateContentArgs_1.toolCreateContentOutputSchema },
    mcp: {
        name: 'create_content',
        annotations: writeAnnotations,
    },
});
exports.createScheduledDeliveryToolDefinition = (0, defineTool_1.defineTool)({
    name: 'createScheduledDelivery',
    title: 'Create scheduled delivery',
    description: toolCreateScheduledDeliveryArgs_1.TOOL_CREATE_SCHEDULED_DELIVERY_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolCreateScheduledDeliveryArgs_1.toolCreateScheduledDeliveryArgsSchema,
    agent: { outputSchema: toolCreateScheduledDeliveryArgs_1.toolCreateScheduledDeliveryOutputSchema },
    mcp: {
        name: 'create_scheduled_delivery',
        annotations: writeAnnotations,
    },
});
exports.runContentQueryToolDefinition = (0, defineTool_1.defineTool)({
    name: 'runContentQuery',
    title: 'Run content query',
    description: toolRunContentQueryArgs_1.TOOL_RUN_CONTENT_QUERY_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolRunContentQueryArgs_1.toolRunContentQueryArgsSchema,
    agent: { outputSchema: toolRunContentQueryArgs_1.toolRunContentQueryOutputSchema },
});
exports.listContentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'listContent',
    title: 'List content',
    description: toolListContentArgs_1.TOOL_LIST_CONTENT_DESCRIPTION,
    availability: ['agent', 'mcp'],
    inputSchema: toolListContentArgs_1.toolListContentArgsSchema,
    agent: { outputSchema: toolListContentArgs_1.toolListContentOutputSchema },
    mcp: {
        name: 'list_content',
        annotations: readOnlyAnnotations,
    },
});
exports.improveContextToolDefinition = (0, defineTool_1.defineTool)({
    name: 'improveContext',
    title: 'Improve context',
    description: toolImproveContextArgs_1.TOOL_IMPROVE_CONTEXT_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolImproveContextArgs_1.toolImproveContextArgsSchema,
    agent: { outputSchema: toolImproveContextArgs_1.toolImproveContextOutputSchema },
});
exports.listProjectsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'listProjects',
    title: 'List projects',
    description: toolListProjectsArgs_1.TOOL_LIST_PROJECTS_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolListProjectsArgs_1.toolListProjectsArgsSchema,
    agent: { outputSchema: toolListProjectsArgs_1.toolListProjectsOutputSchema },
});
exports.getProjectInfoToolDefinition = (0, defineTool_1.defineTool)({
    name: 'getProjectInfo',
    title: 'Get project info',
    description: toolGetProjectInfoArgs_1.TOOL_GET_PROJECT_INFO_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolGetProjectInfoArgs_1.toolGetProjectInfoArgsSchema,
    agent: { outputSchema: toolGetProjectInfoArgs_1.toolGetProjectInfoOutputSchema },
});
exports.loadSkillToolDefinition = (0, defineTool_1.defineTool)({
    name: 'loadSkill',
    title: 'Load skill',
    description: toolLoadSkillArgs_1.TOOL_LOAD_SKILL_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolLoadSkillArgs_1.toolLoadSkillArgsSchema,
    agent: { outputSchema: toolLoadSkillArgs_1.toolLoadSkillOutputSchema },
});
exports.loadProjectContextToolDefinition = (0, defineTool_1.defineTool)({
    name: 'loadProjectContext',
    title: 'Load project context',
    description: toolLoadProjectContextArgs_1.TOOL_LOAD_PROJECT_CONTEXT_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolLoadProjectContextArgs_1.toolLoadProjectContextArgsSchema,
    agent: { outputSchema: toolLoadProjectContextArgs_1.toolLoadProjectContextOutputSchema },
});
exports.editDbtProjectToolDefinition = (0, defineTool_1.defineTool)({
    name: 'editDbtProject',
    title: 'Edit dbt project',
    description: toolEditDbtProjectArgs_1.TOOL_EDIT_DBT_PROJECT_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolEditDbtProjectArgs_1.toolEditDbtProjectArgsSchema,
    agent: { outputSchema: toolEditDbtProjectArgs_1.toolEditDbtProjectOutputSchema },
});
exports.editProjectContextToolDefinition = (0, defineTool_1.defineTool)({
    name: 'editProjectContext',
    title: 'Edit project context',
    description: toolEditProjectContextArgs_1.TOOL_EDIT_PROJECT_CONTEXT_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolEditProjectContextArgs_1.toolEditProjectContextArgsSchema,
    agent: { outputSchema: toolEditProjectContextArgs_1.toolEditProjectContextOutputSchema },
});
exports.editRepoToolDefinition = (0, defineTool_1.defineTool)({
    name: 'editRepo',
    title: 'Edit repository',
    description: toolEditRepoArgs_1.TOOL_EDIT_REPO_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolEditRepoArgs_1.toolEditRepoArgsSchema,
    agent: { outputSchema: toolEditRepoArgs_1.toolEditRepoOutputSchema },
});
exports.syncDbtProjectToolDefinition = (0, defineTool_1.defineTool)({
    name: 'syncDbtProject',
    title: 'Sync dbt project',
    description: toolSyncDbtProjectArgs_1.TOOL_SYNC_DBT_PROJECT_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolSyncDbtProjectArgs_1.toolSyncDbtProjectArgsSchema,
    agent: { outputSchema: toolSyncDbtProjectArgs_1.toolSyncDbtProjectOutputSchema },
});
exports.exploreRepoToolDefinition = (0, defineTool_1.defineTool)({
    name: 'exploreRepo',
    title: 'Explore repository',
    description: toolExploreRepoArgs_1.TOOL_EXPLORE_REPO_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolExploreRepoArgs_1.toolExploreRepoArgsSchema,
    agent: { outputSchema: toolExploreRepoArgs_1.toolExploreRepoOutputSchema },
});
exports.discoverReposToolDefinition = (0, defineTool_1.defineTool)({
    name: 'discoverRepos',
    title: 'Discover repositories',
    description: toolDiscoverReposArgs_1.TOOL_DISCOVER_REPOS_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolDiscoverReposArgs_1.toolDiscoverReposArgsSchema,
    agent: { outputSchema: toolDiscoverReposArgs_1.toolDiscoverReposOutputSchema },
});
exports.listWorkstreamsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'listWorkstreams',
    title: 'List pull requests',
    description: toolListWorkstreamsArgs_1.TOOL_LIST_WORKSTREAMS_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolListWorkstreamsArgs_1.toolListWorkstreamsArgsSchema,
    agent: { outputSchema: toolListWorkstreamsArgs_1.toolListWorkstreamsOutputSchema },
});
exports.closePullRequestToolDefinition = (0, defineTool_1.defineTool)({
    name: 'closePullRequest',
    title: 'Close pull request',
    description: toolClosePullRequestArgs_1.TOOL_CLOSE_PULL_REQUEST_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolClosePullRequestArgs_1.toolClosePullRequestArgsSchema,
    agent: { outputSchema: toolClosePullRequestArgs_1.toolClosePullRequestOutputSchema },
});
exports.getPullRequestDiffToolDefinition = (0, defineTool_1.defineTool)({
    name: 'getPullRequestDiff',
    title: 'Read pull request diff',
    description: toolGetPullRequestDiffArgs_1.TOOL_GET_PULL_REQUEST_DIFF_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolGetPullRequestDiffArgs_1.toolGetPullRequestDiffArgsSchema,
    agent: { outputSchema: toolGetPullRequestDiffArgs_1.toolGetPullRequestDiffOutputSchema },
});
exports.setupPreviewDeployToolDefinition = (0, defineTool_1.defineTool)({
    name: 'setupPreviewDeploy',
    title: 'Set up preview deploys',
    description: toolSetupPreviewDeployArgs_1.TOOL_SETUP_PREVIEW_DEPLOY_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolSetupPreviewDeployArgs_1.toolSetupPreviewDeployArgsSchema,
    agent: { outputSchema: toolSetupPreviewDeployArgs_1.toolSetupPreviewDeployOutputSchema },
});
exports.runSavedChartToolDefinition = (0, defineTool_1.defineTool)({
    name: 'runSavedChart',
    title: 'Run saved chart',
    description: toolRunSavedChartArgs_1.TOOL_RUN_SAVED_CHART_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolRunSavedChartArgs_1.toolRunSavedChartArgsSchema,
    agent: { outputSchema: toolRunSavedChartArgs_1.toolRunSavedChartOutputSchema },
});
exports.listWarehouseTablesToolDefinition = (0, defineTool_1.defineTool)({
    name: 'listWarehouseTables',
    title: 'List warehouse tables',
    description: toolListWarehouseTablesArgs_1.TOOL_LIST_WAREHOUSE_TABLES_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolListWarehouseTablesArgs_1.toolListWarehouseTablesArgsSchema,
    agent: { outputSchema: toolListWarehouseTablesArgs_1.toolListWarehouseTablesOutputSchema },
});
exports.describeWarehouseTableToolDefinition = (0, defineTool_1.defineTool)({
    name: 'describeWarehouseTable',
    title: 'Describe warehouse table',
    description: toolDescribeWarehouseTableArgs_1.TOOL_DESCRIBE_WAREHOUSE_TABLE_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolDescribeWarehouseTableArgs_1.toolDescribeWarehouseTableArgsSchema,
    agent: { outputSchema: toolDescribeWarehouseTableArgs_1.toolDescribeWarehouseTableOutputSchema },
});
exports.listKnowledgeDocumentsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'listKnowledgeDocuments',
    title: 'List knowledge documents',
    description: toolListKnowledgeDocumentsArgs_1.TOOL_LIST_KNOWLEDGE_DOCUMENTS_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolListKnowledgeDocumentsArgs_1.toolListKnowledgeDocumentsArgsSchema,
    agent: { outputSchema: toolListKnowledgeDocumentsArgs_1.toolListKnowledgeDocumentsOutputSchema },
});
exports.getKnowledgeDocumentContentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'getKnowledgeDocumentContent',
    title: 'Get knowledge document content',
    description: toolGetKnowledgeDocumentContentArgs_1.TOOL_GET_KNOWLEDGE_DOCUMENT_CONTENT_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolGetKnowledgeDocumentContentArgs_1.toolGetKnowledgeDocumentContentArgsSchema,
    agent: { outputSchema: toolGetKnowledgeDocumentContentArgs_1.toolGetKnowledgeDocumentContentOutputSchema },
});
exports.readPinnedThreadToolDefinition = (0, defineTool_1.defineTool)({
    name: 'readPinnedThread',
    title: 'Read pinned conversation',
    description: toolReadPinnedThreadArgs_1.TOOL_READ_PINNED_THREAD_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolReadPinnedThreadArgs_1.toolReadPinnedThreadArgsSchema,
    agent: { outputSchema: toolReadPinnedThreadArgs_1.toolReadPinnedThreadOutputSchema },
});
/** @deprecated Legacy agent tool kept for historical tool calls. */
exports.findChartsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'findCharts',
    title: 'Find charts',
    description: toolFindChartsArgs_1.TOOL_FIND_CHARTS_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolFindChartsArgs_1.toolFindChartsArgsSchema,
    agent: { outputSchema: toolFindChartsArgs_1.toolFindChartsOutputSchema },
});
/** @deprecated Legacy agent tool kept for historical tool calls. */
exports.findDashboardsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'findDashboards',
    title: 'Find dashboards',
    description: toolFindDashboardsArgs_1.TOOL_FIND_DASHBOARDS_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolFindDashboardsArgs_1.toolFindDashboardsArgsSchema,
    agent: { outputSchema: toolFindDashboardsArgs_1.toolFindDashboardsOutputSchema },
});
/** @deprecated Legacy agent tool kept for historical tool calls. */
exports.generateBarVizConfigToolDefinition = (0, defineTool_1.defineTool)({
    name: 'generateBarVizConfig',
    title: 'Generate bar visualization config',
    description: toolVerticalBarArgs_1.TOOL_VERTICAL_BAR_VIZ_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolVerticalBarArgs_1.toolVerticalBarArgsSchema,
    inputSchemaTransformed: toolVerticalBarArgs_1.toolVerticalBarArgsSchemaTransformed,
    agent: { outputSchema: toolVerticalBarArgs_1.toolVerticalBarOutputSchema },
});
/** @deprecated Legacy agent tool kept for historical tool calls. */
exports.generateTableVizConfigToolDefinition = (0, defineTool_1.defineTool)({
    name: 'generateTableVizConfig',
    title: 'Generate table visualization config',
    description: toolTableVizArgs_1.TOOL_TABLE_VIZ_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolTableVizArgs_1.toolTableVizArgsSchema,
    inputSchemaTransformed: toolTableVizArgs_1.toolTableVizArgsSchemaTransformed,
    agent: { outputSchema: toolTableVizArgs_1.toolTableVizOutputSchema },
});
/** @deprecated Legacy agent tool kept for historical tool calls. */
exports.generateTimeSeriesVizConfigToolDefinition = (0, defineTool_1.defineTool)({
    name: 'generateTimeSeriesVizConfig',
    title: 'Generate time series visualization config',
    description: toolTimeSeriesArgs_1.TOOL_TIME_SERIES_VIZ_DESCRIPTION,
    availability: ['agent'],
    inputSchema: toolTimeSeriesArgs_1.toolTimeSeriesArgsSchema,
    inputSchemaTransformed: toolTimeSeriesArgs_1.toolTimeSeriesArgsSchemaTransformed,
    agent: { outputSchema: toolTimeSeriesArgs_1.toolTimeSeriesOutputSchema },
});
exports.getLightdashVersionToolDefinition = (0, defineTool_1.defineTool)({
    name: 'getLightdashVersion',
    title: 'Get Lightdash version',
    description: 'Get the current Lightdash version',
    availability: ['mcp'],
    inputSchema: emptyInputSchema,
    mcp: { annotations: readOnlyAnnotations },
});
exports.listExploresToolDefinition = (0, defineTool_1.defineTool)({
    name: 'listExplores',
    title: 'List explores',
    description: mcpToolListExploresArgs_1.MCP_TOOL_LIST_EXPLORES_DESCRIPTION,
    availability: ['mcp'],
    inputSchema: mcpToolListExploresArgs_1.mcpToolListExploresArgsSchema,
    mcp: { annotations: readOnlyAnnotations },
});
exports.listSkillsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'listSkills',
    title: 'List Skills',
    description: toolBuiltInSkillArgs_1.TOOL_LIST_SKILLS_DESCRIPTION,
    availability: ['mcp'],
    inputSchema: toolBuiltInSkillArgs_1.toolListSkillsArgsSchema,
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolBuiltInSkillArgs_1.toolListSkillsOutputSchema,
    },
});
exports.readSkillToolDefinition = (0, defineTool_1.defineTool)({
    name: 'readSkill',
    title: 'Read Skill',
    description: toolBuiltInSkillArgs_1.TOOL_LOAD_SKILL_DESCRIPTION_MCP,
    availability: ['mcp'],
    inputSchema: toolBuiltInSkillArgs_1.toolLoadSkillMcpArgsSchema,
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolBuiltInSkillArgs_1.toolLoadSkillOutputSchemaMcp,
    },
});
exports.readSkillResourceToolDefinition = (0, defineTool_1.defineTool)({
    name: 'readSkillResource',
    title: 'Read Skill Resource',
    description: toolBuiltInSkillArgs_1.TOOL_LOAD_SKILL_RESOURCE_DESCRIPTION,
    availability: ['mcp'],
    inputSchema: toolBuiltInSkillArgs_1.toolLoadSkillResourceArgsSchema,
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: toolBuiltInSkillArgs_1.toolLoadSkillResourceOutputSchema,
    },
});
exports.mcpListProjectsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'listProjects',
    title: 'List projects',
    description: 'List all accessible projects in the organization. Projects contain explores, fields, and content. Use this to discover available projects before calling set_project to select one as the active context for subsequent operations.',
    availability: ['mcp'],
    inputSchema: emptyInputSchema,
    mcp: { annotations: readOnlyAnnotations },
});
exports.setProjectToolDefinition = (0, defineTool_1.defineTool)({
    name: 'setProject',
    title: 'Set project',
    description: 'Set the active project for all subsequent MCP operations. Most tools (list_explores, MCP schema-discovery tools, run_metric_query, etc.) require an active project. Setting a project clears any previously selected agent, since agents are scoped to a project. After setting a project, prefer route_agent to auto-select the best agent for each request; use list_agents and set_agent only for manual override.',
    availability: ['mcp'],
    inputSchema: zod_1.z.object({
        projectUuid: zod_1.z.string(),
        tags: zod_1.z.array(zod_1.z.string()).optional(),
    }),
    mcp: { annotations: contextWriteAnnotations },
});
exports.getCurrentProjectToolDefinition = (0, defineTool_1.defineTool)({
    name: 'getCurrentProject',
    title: 'Get current project',
    description: 'Get the currently active project and its configuration. Returns the project UUID, name, and any selected tags. Use this to verify context before calling data tools.',
    availability: ['mcp'],
    inputSchema: emptyInputSchema,
    mcp: { annotations: readOnlyAnnotations },
});
exports.listAgentsToolDefinition = (0, defineTool_1.defineTool)({
    name: 'listAgents',
    title: 'List agents',
    description: 'List accessible AI agents for the active project. Optionally filter by project UUID. Each agent is pre-configured with specific explores, tags, verified questions, and instructions that define its domain expertise. Prefer route_agent for automatic selection; use this tool when you need to inspect candidates or choose one manually before calling set_agent.',
    availability: ['mcp'],
    inputSchema: zod_1.z.object({
        projectUuid: zod_1.z.string().optional(),
    }),
    mcp: { annotations: readOnlyAnnotations },
});
exports.routeAgentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'routeAgent',
    title: 'Route agent',
    description: 'Automatically select and activate the best AI agent for a user request within the active project. Call this at the start of each new user request after setting project context. Returns routing metadata plus the selected agent context; use set_agent only when you want to override the automatic choice manually.',
    availability: ['mcp'],
    inputSchema: routeAgentArgsSchema,
    mcp: {
        annotations: writeAnnotations,
        structuredContentSchema: routeAgentStructuredOutputSchema,
    },
});
exports.setAgentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'setAgent',
    title: 'Set agent',
    description: "Manually set the active AI agent for the active project. Prefer route_agent for default automatic selection; use this when you need to override that choice explicitly. Returns the agent's full context including: explores it has access to, space restrictions, verified questions (curated example queries that demonstrate correct usage of the data model), and custom instructions. Use this context to guide subsequent tool calls — prefer the agent's explores when calling MCP schema-discovery tools, reference verified questions as patterns for building queries with run_metric_query, and follow the agent's instructions for domain-specific conventions.",
    availability: ['mcp'],
    inputSchema: zod_1.z.object({
        agentUuid: zod_1.z.string(),
    }),
    mcp: { annotations: contextWriteAnnotations },
});
exports.clearAgentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'clearAgent',
    title: 'Clear agent',
    description: "Clear the active AI agent from context. After clearing, tool calls will no longer be scoped to a specific agent's explores, tags, or instructions. The active project is preserved.",
    availability: ['mcp'],
    inputSchema: emptyInputSchema,
    mcp: { annotations: contextWriteAnnotations },
});
exports.getCurrentAgentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'getCurrentAgent',
    title: 'Get current agent',
    description: 'Get the currently active AI agent with its full context: explores it has access to, space restrictions, verified questions (curated example queries), and custom instructions. The active agent is usually established by route_agent; use this to inspect the current automatic or manually overridden selection before making data queries.',
    availability: ['mcp'],
    inputSchema: emptyInputSchema,
    mcp: { annotations: readOnlyAnnotations },
});
exports.listVerifiedContentToolDefinition = (0, defineTool_1.defineTool)({
    name: 'listVerifiedContent',
    title: 'List verified content',
    description: 'List all verified charts and dashboards in the active project. Verified content has been reviewed and marked as trusted — use this to discover reference examples of sanctioned metrics and visualizations when building new content. Requires an active project set via set_project. Each item includes contentType (chart or dashboard), contentUuid, name, description, space, view count, last update time, and verification metadata (who verified it and when); charts also include chartKind and exploreName. To learn the full structure of a verified item (dimensions, metrics, filters), drill into it with find_content or MCP schema-discovery tools on its explore.',
    availability: ['mcp'],
    inputSchema: emptyInputSchema,
    mcp: { annotations: readOnlyAnnotations },
});
exports.runAiWritebackToolDefinition = (0, defineTool_1.defineTool)({
    name: 'runAiWriteback',
    title: 'Run AI writeback',
    description: types_1.MCP_TOOL_RUN_AI_WRITEBACK_DESCRIPTION,
    availability: ['mcp'],
    inputSchema: types_1.mcpRunAiWritebackArgsSchema,
    mcp: {
        annotations: writeAnnotations,
        structuredContentSchema: types_1.mcpRunAiWritebackStructuredOutputSchema,
    },
});
exports.getAiWritebackStatusToolDefinition = (0, defineTool_1.defineTool)({
    name: 'getAiWritebackStatus',
    title: 'Get AI writeback status',
    description: types_1.MCP_TOOL_GET_AI_WRITEBACK_STATUS_DESCRIPTION,
    availability: ['mcp'],
    inputSchema: types_1.mcpGetAiWritebackStatusArgsSchema,
    mcp: {
        annotations: readOnlyAnnotations,
        structuredContentSchema: types_1.mcpGetAiWritebackStatusStructuredOutputSchema,
    },
});
exports.agentToolDefinitionsByName = {
    findExplores: exports.findExploresToolDefinition,
    findFields: exports.findFieldsToolDefinition,
    searchSemanticLayer: exports.searchSemanticLayerToolDefinition,
    analyzeFieldImpact: exports.analyzeFieldImpactToolDefinition,
    findContent: exports.findContentToolDefinition,
    searchFieldValues: exports.searchFieldValuesToolDefinition,
    generateVisualization: exports.generateVisualizationToolDefinition,
    runQuery: exports.runQueryToolDefinition,
    runSql: exports.runSqlToolDefinition,
    discoverFields: exports.discoverFieldsToolDefinition,
    grepFields: exports.grepFieldsToolDefinition,
    getMetadata: exports.getMetadataToolDefinition,
    generateDashboard: exports.generateDashboardToolDefinition,
    generateHashes: exports.generateHashesToolDefinition,
    generateUuids: exports.generateUuidsToolDefinition,
    getDashboardCharts: exports.getDashboardChartsToolDefinition,
    readContent: exports.readContentToolDefinition,
    resolveUrl: exports.resolveUrlToolDefinition,
    editContent: exports.editContentToolDefinition,
    createContent: exports.createContentToolDefinition,
    createScheduledDelivery: exports.createScheduledDeliveryToolDefinition,
    runContentQuery: exports.runContentQueryToolDefinition,
    listContent: exports.listContentToolDefinition,
    improveContext: exports.improveContextToolDefinition,
    loadSkill: exports.loadSkillToolDefinition,
    loadProjectContext: exports.loadProjectContextToolDefinition,
    editDbtProject: exports.editDbtProjectToolDefinition,
    editProjectContext: exports.editProjectContextToolDefinition,
    editRepo: exports.editRepoToolDefinition,
    syncDbtProject: exports.syncDbtProjectToolDefinition,
    exploreRepo: exports.exploreRepoToolDefinition,
    discoverRepos: exports.discoverReposToolDefinition,
    listWorkstreams: exports.listWorkstreamsToolDefinition,
    closePullRequest: exports.closePullRequestToolDefinition,
    getPullRequestDiff: exports.getPullRequestDiffToolDefinition,
    setupPreviewDeploy: exports.setupPreviewDeployToolDefinition,
    runSavedChart: exports.runSavedChartToolDefinition,
    listWarehouseTables: exports.listWarehouseTablesToolDefinition,
    describeWarehouseTable: exports.describeWarehouseTableToolDefinition,
    listKnowledgeDocuments: exports.listKnowledgeDocumentsToolDefinition,
    getKnowledgeDocumentContent: exports.getKnowledgeDocumentContentToolDefinition,
    readPinnedThread: exports.readPinnedThreadToolDefinition,
    findCharts: exports.findChartsToolDefinition,
    findDashboards: exports.findDashboardsToolDefinition,
    generateBarVizConfig: exports.generateBarVizConfigToolDefinition,
    generateTableVizConfig: exports.generateTableVizConfigToolDefinition,
    generateTimeSeriesVizConfig: exports.generateTimeSeriesVizConfigToolDefinition,
    listProjects: exports.listProjectsToolDefinition,
    getProjectInfo: exports.getProjectInfoToolDefinition,
};
exports.builtInToolDefinitions = [
    exports.findExploresToolDefinition,
    exports.findFieldsToolDefinition,
    exports.searchSemanticLayerToolDefinition,
    exports.analyzeFieldImpactToolDefinition,
    exports.findContentToolDefinition,
    exports.searchFieldValuesToolDefinition,
    exports.generateVisualizationToolDefinition,
    exports.runQueryToolDefinition,
    exports.runSqlToolDefinition,
    exports.getQueryResultToolDefinition,
    exports.renderChartToolDefinition,
    exports.discoverFieldsToolDefinition,
    exports.grepFieldsToolDefinition,
    exports.getMetadataToolDefinition,
    exports.generateDashboardToolDefinition,
    exports.generateHashesToolDefinition,
    exports.generateUuidsToolDefinition,
    exports.getDashboardChartsToolDefinition,
    exports.readContentToolDefinition,
    exports.resolveUrlToolDefinition,
    exports.editContentToolDefinition,
    exports.createContentToolDefinition,
    exports.createScheduledDeliveryToolDefinition,
    exports.runContentQueryToolDefinition,
    exports.listContentToolDefinition,
    exports.improveContextToolDefinition,
    exports.loadSkillToolDefinition,
    exports.loadProjectContextToolDefinition,
    exports.editDbtProjectToolDefinition,
    exports.editProjectContextToolDefinition,
    exports.editRepoToolDefinition,
    exports.syncDbtProjectToolDefinition,
    exports.exploreRepoToolDefinition,
    exports.discoverReposToolDefinition,
    exports.listWorkstreamsToolDefinition,
    exports.closePullRequestToolDefinition,
    exports.getPullRequestDiffToolDefinition,
    exports.setupPreviewDeployToolDefinition,
    exports.runSavedChartToolDefinition,
    exports.listWarehouseTablesToolDefinition,
    exports.describeWarehouseTableToolDefinition,
    exports.listKnowledgeDocumentsToolDefinition,
    exports.getKnowledgeDocumentContentToolDefinition,
    exports.readPinnedThreadToolDefinition,
    exports.findChartsToolDefinition,
    exports.findDashboardsToolDefinition,
    exports.generateBarVizConfigToolDefinition,
    exports.generateTableVizConfigToolDefinition,
    exports.generateTimeSeriesVizConfigToolDefinition,
    exports.getLightdashVersionToolDefinition,
    exports.listExploresToolDefinition,
    exports.listSkillsToolDefinition,
    exports.readSkillToolDefinition,
    exports.readSkillResourceToolDefinition,
    exports.listProjectsToolDefinition,
    exports.mcpListProjectsToolDefinition,
    exports.getProjectInfoToolDefinition,
    exports.setProjectToolDefinition,
    exports.getCurrentProjectToolDefinition,
    exports.listAgentsToolDefinition,
    exports.routeAgentToolDefinition,
    exports.setAgentToolDefinition,
    exports.clearAgentToolDefinition,
    exports.getCurrentAgentToolDefinition,
    exports.listVerifiedContentToolDefinition,
    exports.runAiWritebackToolDefinition,
];
exports.agentToolDefinitions = exports.builtInToolDefinitions.filter((tool) => tool.availability.includes('agent'));
exports.mcpToolDefinitions = exports.builtInToolDefinitions.filter((tool) => tool.availability.includes('mcp'));
exports.agentToolNames = exports.agentToolDefinitions.map((tool) => tool.name);
exports.mcpToolNames = exports.mcpToolDefinitions.map((tool) => tool.for('mcp').name);
exports.mcpToolDefinitionsByName = Object.fromEntries(exports.mcpToolDefinitions.map((tool) => [tool.for('mcp').name, tool]));
//# sourceMappingURL=toolDefinitions.js.map