@@ -4,6 +4,7 @@ import type {
44 ChatCommandDefinition ,
55 CommandCategory ,
66 CommandScope ,
7+ CommandTier ,
78} from "./commands-registry.types.js" ;
89import { listThinkingLevels } from "./thinking.js" ;
910
@@ -20,6 +21,8 @@ type DefineChatCommandInput = {
2021 textAliases ?: string [ ] ;
2122 scope ?: CommandScope ;
2223 category ?: CommandCategory ;
24+ /** Progressive disclosure tier. Defaults to "standard". */
25+ tier ?: CommandTier ;
2326} ;
2427
2528export function defineChatCommand ( command : DefineChatCommandInput ) : ChatCommandDefinition {
@@ -42,6 +45,7 @@ export function defineChatCommand(command: DefineChatCommandInput): ChatCommandD
4245 textAliases : aliases ,
4346 scope,
4447 category : command . category ,
48+ tier : command . tier ,
4549 } ;
4650}
4751
@@ -129,13 +133,15 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
129133 description : "Show available commands." ,
130134 textAlias : "/help" ,
131135 category : "status" ,
136+ tier : "essential" ,
132137 } ) ,
133138 defineChatCommand ( {
134139 key : "commands" ,
135140 nativeName : "commands" ,
136141 description : "List all slash commands." ,
137142 textAlias : "/commands" ,
138143 category : "status" ,
144+ tier : "power" ,
139145 } ) ,
140146 defineChatCommand ( {
141147 key : "tools" ,
@@ -152,13 +158,15 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
152158 } ,
153159 ] ,
154160 argsMenu : "auto" ,
161+ tier : "standard" ,
155162 } ) ,
156163 defineChatCommand ( {
157164 key : "skill" ,
158165 nativeName : "skill" ,
159166 description : "Run a skill by name." ,
160167 textAlias : "/skill" ,
161168 category : "tools" ,
169+ tier : "standard" ,
162170 args : [
163171 {
164172 name : "name" ,
@@ -180,13 +188,15 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
180188 description : "Show current status." ,
181189 textAlias : "/status" ,
182190 category : "status" ,
191+ tier : "essential" ,
183192 } ) ,
184193 defineChatCommand ( {
185194 key : "tasks" ,
186195 nativeName : "tasks" ,
187196 description : "List background tasks for this session." ,
188197 textAlias : "/tasks" ,
189198 category : "status" ,
199+ tier : "standard" ,
190200 } ) ,
191201 defineChatCommand ( {
192202 key : "allowlist" ,
@@ -195,6 +205,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
195205 acceptsArgs : true ,
196206 scope : "text" ,
197207 category : "management" ,
208+ tier : "power" ,
198209 } ) ,
199210 defineChatCommand ( {
200211 key : "approve" ,
@@ -203,6 +214,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
203214 textAlias : "/approve" ,
204215 acceptsArgs : true ,
205216 category : "management" ,
217+ tier : "power" ,
206218 } ) ,
207219 defineChatCommand ( {
208220 key : "context" ,
@@ -211,6 +223,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
211223 textAlias : "/context" ,
212224 acceptsArgs : true ,
213225 category : "status" ,
226+ tier : "standard" ,
214227 } ) ,
215228 defineChatCommand ( {
216229 key : "btw" ,
@@ -219,6 +232,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
219232 textAlias : "/btw" ,
220233 acceptsArgs : true ,
221234 category : "tools" ,
235+ tier : "standard" ,
222236 } ) ,
223237 defineChatCommand ( {
224238 key : "export-session" ,
@@ -227,6 +241,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
227241 textAliases : [ "/export-session" , "/export" ] ,
228242 acceptsArgs : true ,
229243 category : "status" ,
244+ tier : "essential" ,
230245 args : [
231246 {
232247 name : "path" ,
@@ -242,6 +257,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
242257 description : "Control text-to-speech (TTS)." ,
243258 textAlias : "/tts" ,
244259 category : "media" ,
260+ tier : "standard" ,
245261 args : [
246262 {
247263 name : "action" ,
@@ -285,13 +301,15 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
285301 description : "Show your sender id." ,
286302 textAlias : "/whoami" ,
287303 category : "status" ,
304+ tier : "power" ,
288305 } ) ,
289306 defineChatCommand ( {
290307 key : "session" ,
291308 nativeName : "session" ,
292309 description : "Manage session-level settings (for example /session idle)." ,
293310 textAlias : "/session" ,
294311 category : "session" ,
312+ tier : "power" ,
295313 args : [
296314 {
297315 name : "action" ,
@@ -314,6 +332,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
314332 description : "List, kill, log, spawn, or steer subagent runs for this session." ,
315333 textAlias : "/subagents" ,
316334 category : "management" ,
335+ tier : "standard" ,
317336 args : [
318337 {
319338 name : "action" ,
@@ -341,6 +360,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
341360 description : "Manage ACP sessions and runtime options." ,
342361 textAlias : "/acp" ,
343362 category : "management" ,
363+ tier : "power" ,
344364 args : [
345365 {
346366 name : "action" ,
@@ -382,6 +402,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
382402 "Bind this thread (Discord) or topic/conversation (Telegram) to a session target." ,
383403 textAlias : "/focus" ,
384404 category : "management" ,
405+ tier : "power" ,
385406 args : [
386407 {
387408 name : "target" ,
@@ -397,20 +418,23 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
397418 description : "Remove the current thread (Discord) or topic/conversation (Telegram) binding." ,
398419 textAlias : "/unfocus" ,
399420 category : "management" ,
421+ tier : "power" ,
400422 } ) ,
401423 defineChatCommand ( {
402424 key : "agents" ,
403425 nativeName : "agents" ,
404426 description : "List thread-bound agents for this session." ,
405427 textAlias : "/agents" ,
406428 category : "management" ,
429+ tier : "standard" ,
407430 } ) ,
408431 defineChatCommand ( {
409432 key : "kill" ,
410433 nativeName : "kill" ,
411434 description : "Kill a running subagent (or all)." ,
412435 textAlias : "/kill" ,
413436 category : "management" ,
437+ tier : "standard" ,
414438 args : [
415439 {
416440 name : "target" ,
@@ -426,6 +450,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
426450 description : "Send guidance to a running subagent." ,
427451 textAlias : "/steer" ,
428452 category : "management" ,
453+ tier : "standard" ,
429454 args : [
430455 {
431456 name : "target" ,
@@ -446,6 +471,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
446471 description : "Show or set config values." ,
447472 textAlias : "/config" ,
448473 category : "management" ,
474+ tier : "power" ,
449475 args : [
450476 {
451477 name : "action" ,
@@ -474,6 +500,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
474500 description : "Show or set OpenClaw MCP servers." ,
475501 textAlias : "/mcp" ,
476502 category : "management" ,
503+ tier : "power" ,
477504 args : [
478505 {
479506 name : "action" ,
@@ -502,6 +529,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
502529 description : "List, show, enable, or disable plugins." ,
503530 textAliases : [ "/plugins" , "/plugin" ] ,
504531 category : "management" ,
532+ tier : "power" ,
505533 args : [
506534 {
507535 name : "action" ,
@@ -524,6 +552,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
524552 description : "Set runtime debug overrides." ,
525553 textAlias : "/debug" ,
526554 category : "management" ,
555+ tier : "power" ,
527556 args : [
528557 {
529558 name : "action" ,
@@ -552,6 +581,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
552581 description : "Usage footer or cost summary." ,
553582 textAlias : "/usage" ,
554583 category : "options" ,
584+ tier : "standard" ,
555585 args : [
556586 {
557587 name : "mode" ,
@@ -568,20 +598,23 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
568598 description : "Stop the current run." ,
569599 textAlias : "/stop" ,
570600 category : "session" ,
601+ tier : "essential" ,
571602 } ) ,
572603 defineChatCommand ( {
573604 key : "restart" ,
574605 nativeName : "restart" ,
575606 description : "Restart OpenClaw." ,
576607 textAlias : "/restart" ,
577608 category : "tools" ,
609+ tier : "power" ,
578610 } ) ,
579611 defineChatCommand ( {
580612 key : "activation" ,
581613 nativeName : "activation" ,
582614 description : "Set group activation mode." ,
583615 textAlias : "/activation" ,
584616 category : "management" ,
617+ tier : "power" ,
585618 args : [
586619 {
587620 name : "mode" ,
@@ -598,6 +631,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
598631 description : "Set send policy." ,
599632 textAlias : "/send" ,
600633 category : "management" ,
634+ tier : "power" ,
601635 args : [
602636 {
603637 name : "mode" ,
@@ -615,6 +649,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
615649 textAlias : "/reset" ,
616650 acceptsArgs : true ,
617651 category : "session" ,
652+ tier : "essential" ,
618653 } ) ,
619654 defineChatCommand ( {
620655 key : "new" ,
@@ -623,13 +658,15 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
623658 textAlias : "/new" ,
624659 acceptsArgs : true ,
625660 category : "session" ,
661+ tier : "essential" ,
626662 } ) ,
627663 defineChatCommand ( {
628664 key : "compact" ,
629665 nativeName : "compact" ,
630666 description : "Compact the session context." ,
631667 textAlias : "/compact" ,
632668 category : "session" ,
669+ tier : "essential" ,
633670 args : [
634671 {
635672 name : "instructions" ,
@@ -645,6 +682,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
645682 description : "Set thinking level." ,
646683 textAlias : "/think" ,
647684 category : "options" ,
685+ tier : "essential" ,
648686 args : [
649687 {
650688 name : "level" ,
@@ -661,6 +699,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
661699 description : "Toggle verbose mode." ,
662700 textAlias : "/verbose" ,
663701 category : "options" ,
702+ tier : "standard" ,
664703 args : [
665704 {
666705 name : "mode" ,
@@ -677,6 +716,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
677716 description : "Toggle plugin trace lines." ,
678717 textAlias : "/trace" ,
679718 category : "options" ,
719+ tier : "power" ,
680720 args : [
681721 {
682722 name : "mode" ,
@@ -693,6 +733,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
693733 description : "Toggle fast mode." ,
694734 textAlias : "/fast" ,
695735 category : "options" ,
736+ tier : "standard" ,
696737 args : [
697738 {
698739 name : "mode" ,
@@ -709,6 +750,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
709750 description : "Toggle reasoning visibility." ,
710751 textAlias : "/reasoning" ,
711752 category : "options" ,
753+ tier : "standard" ,
712754 args : [
713755 {
714756 name : "mode" ,
@@ -725,6 +767,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
725767 description : "Toggle elevated mode." ,
726768 textAlias : "/elevated" ,
727769 category : "options" ,
770+ tier : "power" ,
728771 args : [
729772 {
730773 name : "mode" ,
@@ -741,6 +784,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
741784 description : "Set exec defaults for this session." ,
742785 textAlias : "/exec" ,
743786 category : "options" ,
787+ tier : "power" ,
744788 args : [
745789 {
746790 name : "host" ,
@@ -775,6 +819,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
775819 description : "Show or set the model." ,
776820 textAlias : "/model" ,
777821 category : "options" ,
822+ tier : "essential" ,
778823 args : [
779824 {
780825 name : "model" ,
@@ -788,6 +833,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
788833 nativeName : "models" ,
789834 description : "List model providers or provider models." ,
790835 textAlias : "/models" ,
836+ tier : "standard" ,
791837 argsParsing : "none" ,
792838 acceptsArgs : true ,
793839 category : "options" ,
@@ -798,6 +844,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
798844 description : "Adjust queue settings." ,
799845 textAlias : "/queue" ,
800846 category : "options" ,
847+ tier : "power" ,
801848 args : [
802849 {
803850 name : "mode" ,
@@ -831,6 +878,7 @@ export function buildBuiltinChatCommands(): ChatCommandDefinition[] {
831878 textAlias : "/bash" ,
832879 scope : "text" ,
833880 category : "tools" ,
881+ tier : "power" ,
834882 args : [
835883 {
836884 name : "command" ,
0 commit comments