Scheduler management tool - manage heartbeat tasks, scheduled tasks, and command tasks.

## Task Types

### heartbeat
Heartbeat tasks execute prompt on a cron schedule. Supports two execution modes:
- session: Executes in the same session
- fork: Forks a new session for execution

### scheduled
Scheduled tasks execute prompts using AgentExecutor on a cron schedule. Supports multiple transport types (stdio, http, websocket, cli).

### command
Command tasks execute local commands on a cron schedule. Used for system maintenance tasks.

## Operations

### list
List all scheduler tasks or filter by type.
- type (optional): Filter by heartbeat, scheduled, command, or all (default)

### get
Get detailed information about a specific task.
- taskId: Task ID to query
- type: Task type (heartbeat, scheduled, or command)

### createHeartbeat
Create a new heartbeat task.
- name: Task name
- cron: Cron expression (e.g., "*/5 * * * *" for every 5 minutes)
- prompt: Prompt text to execute
- agent (optional): Agent type to use
- mode (optional): Execution mode - session or fork (default: session)

### createScheduled
Create a new scheduled task.
- name: Task name
- cron: Cron expression
- prompt: Prompt text to execute
- agent (optional): Agent type to use

### createCommand
Create a new command task.
- name: Task name
- cron: Cron expression
- command: Command to execute
- arguments (optional): Command arguments as JSON string

### edit
Update an existing task.
- taskId: Task ID
- type: Task type
- name (optional): New task name
- cron (optional): New cron expression
- enabled (optional): Enable/disable task
- prompt (optional): New prompt text
- mode (optional): New execution mode (for heartbeat)

### delete
Delete a task by ID.
- taskId: Task ID
- type: Task type

### enable
Enable a disabled task.
- taskId: Task ID
- type: Task type (heartbeat, scheduled, or command)

### disable
Disable a task (preserves configuration).
- taskId: Task ID
- type: Task type (heartbeat, scheduled, or command)

### trigger
Manually trigger a task to execute immediately. Task runs in background, results recorded in execution history.
- taskId: Task ID
- type: Task type (heartbeat, scheduled, or command)

### agents
List available agent types for task execution.
- No parameters required

### history
Get task execution history.
- taskId: Task ID
- type: Task type (heartbeat, scheduled, or command)
- limit (optional): Maximum number of records (default: 10)

## Examples

```
scheduler(operation="list")
scheduler(operation="list" type="heartbeat")
scheduler(operation="get" taskId="heartbeat_xxx" type="heartbeat")
scheduler(operation="createHeartbeat" name="Health Check" cron="*/5 * * * *" prompt="Check system health" mode="session")
scheduler(operation="createScheduled" name="Daily Report" cron="0 9 * * *" prompt="Generate daily report")
scheduler(operation="createCommand" name="Cleanup" cron="0 0 * * *" command="cleanup")
scheduler(operation="edit" taskId="heartbeat_xxx" type="heartbeat" enabled=false)
scheduler(operation="delete" taskId="heartbeat_xxx" type="heartbeat")
scheduler(operation="enable" taskId="heartbeat_xxx" type="heartbeat")
scheduler(operation="disable" taskId="heartbeat_xxx" type="heartbeat")
scheduler(operation="trigger" taskId="heartbeat_xxx" type="heartbeat")
scheduler(operation="agents")
scheduler(operation="history" taskId="heartbeat_xxx" type="heartbeat")
scheduler(operation="history" taskId="heartbeat_xxx" type="heartbeat" limit=5)
```

## Notes

- Cron expressions follow standard format: minute hour day month weekday
- All task types (heartbeat, scheduled, command) support enable/disable/trigger operations
- Use list to see all tasks with their status and next fire times
