1import type { RuntimeMode } from "@t3tools/contracts";
2import { type LucideIcon, LockIcon, LockOpenIcon, PenLineIcon, SparklesIcon } from "lucide-react";
3
4export const runtimeModeConfig: Record<
5 RuntimeMode,
6 { label: string; description: string; icon: LucideIcon }
7> = {
8 "approval-required": {
9 label: "Supervised",
10 description: "Ask before commands and file changes.",
11 icon: LockIcon,
12 },
13 "auto-accept-edits": {
14 label: "Auto-accept edits",
15 description: "Auto-approve edits, ask before other actions.",
16 icon: PenLineIcon,
17 },
18 auto: {
19 label: "Auto",
20 description: "Supported providers approve routine actions; others still ask.",
21 icon: SparklesIcon,
22 },
23 "full-access": {
24 label: "Full access",
25 description: "Allow commands and edits without prompts.",
26 icon: LockOpenIcon,
27 },
28};
29
30export const runtimeModeOptions = Object.keys(runtimeModeConfig) as RuntimeMode[];