"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.toolDashboardV2OutputSchema = exports.toolDashboardV2ArgsSchemaTransformed = exports.toolDashboardV2ArgsSchema = exports.TOOL_DASHBOARD_V2_DESCRIPTION = void 0;
const zod_1 = require("zod");
const outputMetadata_1 = require("../outputMetadata");
const toolSchemaBuilder_1 = require("../toolSchemaBuilder");
const toolRunQueryArgs_1 = require("./toolRunQueryArgs");
exports.TOOL_DASHBOARD_V2_DESCRIPTION = `

Use this tool to generate multiple visualizations for a dashboard based on a specific theme.

Instead of making multiple parallel tool calls for individual visualizations, this tool takes an array of visualization configurations and generates them all at once, ensuring thematic consistency and better performance.

Dashboard Design Philosophy:
Create "summary" or "executive" level dashboards that provide high-level overviews of specific topics (e.g., Support Dashboard, Revenue Performance, Sales Operations). These dashboards should be designed to monitor trends and key metric performance at a glance.

Recommended Dashboard Structure:
1. **Summary Metrics at the Top**: Start with key performance indicators (KPIs) as tables showing overall summary metrics
2. **Time-Series Analysis**: Include time-series charts (line or area charts) to show how metrics trend over time
3. **Categorical Comparisons**: Use bar or horizontal bar charts to compare metrics across categories
4. **Proportional Analysis**: Use pie charts to show part-to-whole relationships (e.g., market share, revenue by segment)
5. **Correlation Analysis**: Use scatter plots to explore relationships between two metrics
6. **Conversion Flows**: Use funnel charts to visualize sequential conversion processes (e.g., sales funnel, user onboarding)
7. **Detailed Breakdowns**: Add tables with more detail and specific line items that have the biggest impact on metrics
`;
// Dashboard visualization schema - use generateVisualization format for each visualization
const dashboardV2VisualizationSchema = toolRunQueryArgs_1.toolRunQueryArgsSchema;
exports.toolDashboardV2ArgsSchema = (0, toolSchemaBuilder_1.createToolSchema)()
    .extend({
    title: zod_1.z.string().describe('A descriptive title for the dashboard'),
    description: zod_1.z
        .string()
        .describe('A descriptive summary or explanation for the dashboard.'),
    visualizations: zod_1.z
        .array(dashboardV2VisualizationSchema)
        .min(2)
        .max(15)
        .describe('Array of visualization configurations to generate for this dashboard. Each should contribute to the overall theme and leverage the available chart types (table, bar, horizontal, line, scatter, pie, funnel).'),
})
    .build();
exports.toolDashboardV2ArgsSchemaTransformed = exports.toolDashboardV2ArgsSchema.transform((data) => ({
    ...data,
    visualizations: data.visualizations.map((viz) => toolRunQueryArgs_1.toolRunQueryArgsSchemaTransformed.parse(viz)),
}));
exports.toolDashboardV2OutputSchema = zod_1.z.object({
    result: zod_1.z.string(),
    metadata: outputMetadata_1.baseOutputMetadataSchema,
});
//# sourceMappingURL=toolDashboardV2Args.js.map