import { z } from "zod"

export const HookNameSchema = z.enum([
  "todo-continuation-enforcer",
  "context-window-monitor",
  "session-recovery",
  "session-notification",
  "comment-checker",
  "grep-output-truncator",
  "tool-output-truncator",
  "question-label-truncator",
  "directory-agents-injector",
  "directory-readme-injector",
  "empty-task-response-detector",
  "think-mode",
  "model-fallback",
  "anthropic-context-window-limit-recovery",
  "preemptive-compaction",
  "rules-injector",
  "background-notification",
  "auto-update-checker",
  "startup-toast",
  "keyword-detector",
  "agent-usage-reminder",
  "non-interactive-env",
  "interactive-bash-session",

  "thinking-block-validator",
  "beast-mode-system",
  "ralph-loop",
  "category-skill-reminder",

  "compaction-context-injector",
  "compaction-todo-preserver",
  "claude-code-hooks",
  "auto-slash-command",
  "edit-error-recovery",
  "json-error-recovery",
  "delegate-task-retry",
  "prometheus-md-only",
  "sisyphus-junior-notepad",
  "no-sisyphus-gpt",
  "no-hephaestus-non-gpt",
  "start-work",
  "atlas",
  "unstable-agent-babysitter",
  "task-reminder",
  "task-resume-info",
  "stop-continuation-guard",
  "tasks-todowrite-disabler",
  "write-existing-file-guard",
  "anthropic-effort",
  "hashline-read-enhancer",
  "hashline-edit-diff-enhancer",
])

export type HookName = z.infer<typeof HookNameSchema>
