import { z } from 'zod';
import type { ToolDef } from '../tool-registry.js';

export const dashboardTools: ToolDef[] = [
  {
    name: 'dashboard_summary',
    description:
      'Get a summary of the entire platform: total campaigns, locations, users, shifts, ' +
      'recent signups, email queue status, and feature flag states. ' +
      'Use this as a starting point to understand the current state of the platform.',
    inputSchema: {},
    method: 'GET',
    path: '/api/dashboard/summary',
    tier: 1,
  },
  {
    name: 'dashboard_activity',
    description:
      'Get recent activity feed: new users, campaign submissions, shift signups, ' +
      'canvass visits, and other platform events. Paginated.',
    inputSchema: {
      page: z.coerce.number().int().positive().default(1).describe('Page number'),
      limit: z.coerce.number().int().positive().max(50).default(20).describe('Items per page'),
    },
    method: 'GET',
    path: '/api/dashboard/activity',
    tier: 1,
  },
  {
    name: 'health_check',
    description:
      'Check connectivity to core platform services: database, Redis, ' +
      'external integrations. Returns status of each dependency.',
    inputSchema: {},
    method: 'GET',
    path: '/api/dashboard/connectivity',
    tier: 1,
  },
];
