import type { ScheduledTask } from './types';

export const BUILTIN_TASK_TEMPLATES: Omit<ScheduledTask, 'id' | 'createdAt'>[] = [
  {
    name: 'Morning Brief',
    schedule: '0 8 * * *',
    scheduleHuman: 'Daily at 8:00 AM',
    model: '',
    prompt:
      'Give me a brief morning summary: what day of the week it is, any notable tech news headlines you know about, and a motivational quote to start the day. Keep it under 200 words.',
    inputSource: { type: 'static' },
    outputAction: { type: 'conversation' },
    enabled: false,
    runHistory: [],
  },
  {
    name: 'Git Diff Summary',
    schedule: '0 17 * * 1-5',
    scheduleHuman: 'Weekdays at 5:00 PM',
    model: '',
    prompt:
      'Summarize the following git diff output. Group changes by file, highlight key modifications, and note any potential issues:\n\n{input}',
    inputSource: { type: 'command', command: 'git diff --stat' },
    outputAction: { type: 'conversation' },
    enabled: false,
    runHistory: [],
  },
  {
    name: 'Disk Usage Alert',
    schedule: '0 12 * * *',
    scheduleHuman: 'Daily at noon',
    model: '',
    prompt:
      'Analyze this disk usage report and alert me if any partition is over 80% full. Provide recommendations for cleanup if needed:\n\n{input}',
    inputSource: { type: 'command', command: 'df -h' },
    outputAction: { type: 'notification' },
    enabled: false,
    runHistory: [],
  },
  {
    name: 'Weekly Code Review Reminder',
    schedule: '0 10 * * 1',
    scheduleHuman: 'Every Monday at 10:00 AM',
    model: '',
    prompt:
      'Generate a code review checklist for this week. Include: security best practices, performance considerations, documentation gaps, and testing coverage reminders. Format as a markdown checklist.',
    inputSource: { type: 'static' },
    outputAction: { type: 'conversation' },
    enabled: false,
    runHistory: [],
  },
  {
    name: 'Dependency Check',
    schedule: '0 9 * * 3',
    scheduleHuman: 'Every Wednesday at 9:00 AM',
    model: '',
    prompt:
      'Analyze the following npm outdated output and prioritize which packages should be updated. Flag any with known security vulnerabilities:\n\n{input}',
    inputSource: { type: 'command', command: 'npm outdated' },
    outputAction: { type: 'conversation' },
    enabled: false,
    runHistory: [],
  },
];
