@@ -26,6 +26,8 @@ interface CommandData {
26
26
parentPath : string ;
27
27
relativePath : string ;
28
28
middlewares : string [ ] ;
29
+ supportsAI : boolean ;
30
+ description ?: string ;
29
31
}
30
32
31
33
interface MiddlewareData {
@@ -52,12 +54,25 @@ const CommandDetails = ({
52
54
} ) => {
53
55
return (
54
56
< Card className = "p-4 mt-4 bg-muted/50 border-l-4 border-l-primary rounded-sm" >
55
- < h3 className = "text-lg font-bold mb-2" > { command . name } </ h3 >
57
+ < h3 className = "text-lg font-bold mb-2" >
58
+ { command . name }
59
+ { command . supportsAI && (
60
+ < Badge variant = "outline" className = "ml-2" >
61
+ ✨
62
+ </ Badge >
63
+ ) }
64
+ </ h3 >
56
65
< div className = "grid grid-cols-1 md:grid-cols-2 gap-2 text-sm" >
57
66
< div >
58
67
< p className = "text-muted-foreground" > ID:</ p >
59
68
< p className = "font-mono text-xs break-all" > { command . id } </ p >
60
69
</ div >
70
+ { command . description && (
71
+ < div >
72
+ < p className = "text-muted-foreground" > Description:</ p >
73
+ < p className = "italic" > { command . description } </ p >
74
+ </ div >
75
+ ) }
61
76
< div >
62
77
< p className = "text-muted-foreground" > Category:</ p >
63
78
< p > { command . category || 'Uncategorized' } </ p >
@@ -106,13 +121,15 @@ const TreeNode = ({
106
121
hasMiddleware = false ,
107
122
onClick,
108
123
isSelected,
124
+ supportsAI,
109
125
} : {
110
126
name : string ;
111
127
children ?: React . ReactNode ;
112
128
isCommand ?: boolean ;
113
129
hasMiddleware ?: boolean ;
114
130
onClick ?: ( ) => void ;
115
131
isSelected ?: boolean ;
132
+ supportsAI ?: boolean ;
116
133
} ) => {
117
134
const [ isOpen , setIsOpen ] = useState ( true ) ;
118
135
const hasChildren = Boolean ( children ) ;
@@ -159,6 +176,11 @@ const TreeNode = ({
159
176
< Shield className = "h-3 w-3 mr-1" /> λ
160
177
</ Badge >
161
178
) }
179
+ { supportsAI && (
180
+ < Badge variant = "outline" className = "ml-2 py-0 h-5" >
181
+ ✨
182
+ </ Badge >
183
+ ) }
162
184
</ div >
163
185
164
186
{ hasChildren && isOpen && (
@@ -236,6 +258,7 @@ function CommandHierarchy() {
236
258
key = { command . id }
237
259
name = { command . name }
238
260
isCommand = { true }
261
+ supportsAI = { command . supportsAI }
239
262
hasMiddleware = { command . middlewares . length > 0 }
240
263
onClick = { ( ) => setSelectedCommand ( command . id ) }
241
264
isSelected = { selectedCommand === command . id }
0 commit comments