"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AVAILABLE_VISUALIZATION_TYPES = exports.TOOL_DISPLAY_MESSAGES_AFTER_TOOL_CALL = exports.TOOL_DISPLAY_MESSAGES = exports.ToolDisplayMessagesSchema = exports.isToolName = exports.ToolNameSchema = void 0;
const tslib_1 = require("tslib");
const zod_1 = require("zod");
tslib_1.__exportStar(require("./tableViz"), exports);
tslib_1.__exportStar(require("./timeSeriesViz"), exports);
tslib_1.__exportStar(require("./verticalBarViz"), exports);
const VisualizationTools = [
    'generateBarVizConfig',
    'generateTableVizConfig',
    'generateTimeSeriesVizConfig',
];
// define tool names
exports.ToolNameSchema = zod_1.z.enum([
    ...VisualizationTools,
    'generateDashboard',
    'findContent',
    'findExplores',
    'findFields',
    'discoverFields',
    'searchFieldValues',
    'findDashboards',
    'findCharts',
    'getDashboardCharts',
    'improveContext',
    'proposeChange',
    'runQuery',
    'runSavedChart',
    'runSql',
    'listWarehouseTables',
    'describeWarehouseTable',
]);
const isToolName = (toolName) => exports.ToolNameSchema.safeParse(toolName).success;
exports.isToolName = isToolName;
// display messages schema
exports.ToolDisplayMessagesSchema = zod_1.z.record(exports.ToolNameSchema, zod_1.z.string());
exports.TOOL_DISPLAY_MESSAGES = exports.ToolDisplayMessagesSchema.parse({
    findExplores: 'Finding relevant explores',
    findDashboards: 'Finding relevant dashboards',
    findContent: 'Finding relevant content',
    findFields: 'Finding relevant fields',
    discoverFields: 'Discovering fields',
    searchFieldValues: 'Searching field values',
    generateBarVizConfig: 'Generating a bar chart',
    generateTableVizConfig: 'Generating a table',
    generateTimeSeriesVizConfig: 'Generating a line chart',
    generateDashboard: 'Generating a dashboard',
    findCharts: 'Finding relevant charts',
    getDashboardCharts: 'Looking up dashboard charts',
    improveContext: 'Improving context',
    runQuery: 'Generating visualization',
    runSavedChart: 'Running saved chart',
    runSql: 'Running SQL query',
    listWarehouseTables: 'Listing warehouse tables',
    describeWarehouseTable: 'Describing warehouse table',
});
// after-tool-call messages
exports.TOOL_DISPLAY_MESSAGES_AFTER_TOOL_CALL = exports.ToolDisplayMessagesSchema.parse({
    findExplores: 'Found relevant explores',
    findDashboards: 'Found relevant dashboards',
    findFields: 'Found relevant fields',
    discoverFields: 'Discovered fields',
    findContent: 'Found relevant content',
    searchFieldValues: 'Found field values',
    generateBarVizConfig: 'Generated a bar chart',
    generateTableVizConfig: 'Generated a table',
    generateTimeSeriesVizConfig: 'Generated a line chart',
    generateDashboard: 'Generated a dashboard',
    findCharts: 'Found relevant charts',
    getDashboardCharts: 'Found dashboard charts',
    improveContext: 'Improved context',
    runQuery: 'Generated visualization',
    runSavedChart: 'Ran saved chart',
    runSql: 'Ran SQL query',
    listWarehouseTables: 'Listed warehouse tables',
    describeWarehouseTable: 'Described warehouse table',
});
exports.AVAILABLE_VISUALIZATION_TYPES = VisualizationTools;
//# sourceMappingURL=index.js.map